Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[c] zastosowanie variant type w stosie

Ostatnio zmodyfikowano 2014-06-14 16:00
Autor Wiadomość
Lukier
Temat założony przez niniejszego użytkownika
[c] zastosowanie variant type w stosie
» 2014-06-12 10:27:15
Witam, mam zadanie, w którym stosując variant,unie mam przerobić mój program reprezentujący stos z typami int na stos który będzie dodawać kolejno różne typy zmiennych np int, char, float itp. Niestety nie wiem jak to zrobić o samym variancie prawie nic nie znalazłem na internecie, nie licząc kilku stron w języku angielskim z których niewiele zrozumiałem. Czy mógłby mi ktoś wytłumaczyć jak mam wykonać to zadanie na moim kodzie?
C/C++
#include<stdio.h>
#include<stdlib.h>

struct stos
{
    int klucz;
    struct stos * nast;
};

typedef struct stos element;
typedef element * lista;

//funkcja dodajaca na stos

void push( lista * e, int k )
{
    lista new;
   
    new =( lista ) malloc( sizeof( element ) );
    new->klucz = k;
    new->nast =* e;
    * e = new;
}

//funkcja pokazujaca stan stosu

void peek( lista e )
{
    while( e != NULL ) {
        printf( "%d\n", e->klucz );
        e = e->nast;
    }
}

//funkcja usuwajaca ze stosu

int pop( lista * e ) {
    lista p;
    int k;
    if( * e != 0 ) {
        p =* e;
        k =( * e )->klucz;
        * e =( * e )->nast;
        free( p );
        p = 0;
        return k;
    }
    return - 1;
}


//glowny program

int main()
{
    lista li;
    li = NULL;
   
    printf( "Dodawanie na stos liczb 1 2 3 4 5:\n" );
    push( & li, 1 );
    push( & li, 2 );
    push( & li, 3 );
    push( & li, 4 );
    push( & li, 5 );
    peek( li );
    printf( "Usuwanie ze stosu:\n" );
    pop( & li );
    peek( li );
   
    return 0;
}
P-111979
pekfos
» 2014-06-12 12:55:33
Chodzi o union?
P-111981
Lukier
Temat założony przez niniejszego użytkownika
» 2014-06-12 15:17:09
Tak, typy zmiennych mają być przechowywane w union, wiem że muszę przerobić push tak aby sprawdzał aktualnie pobrany typ danych z union, zaś sam w sobie variant jest typem przechowującym informację o typie danej oraz wartości danej (lecz mogę się mylić). Wiem jak działa union i na czym polega lecz nie mam pomysłu jak rozwiązać moje zadanie, potrzebuje jakieś inspiracji bądź wskazówek
P-111986
pekfos
» 2014-06-12 15:18:40
Struktura z informacją o typie i unią?
P-111987
Lukier
Temat założony przez niniejszego użytkownika
» 2014-06-14 16:00:30
Już problem rozwiązałem lecz w każdym bądź razie dzięki za zainteresowanie
P-112066
« 1 »
  Strona 1 z 1