Inregistrare

Inregistrati-va pentru a beneficia de cunostintele comunitatii, a pune intrebari sau a a raspunde la intrebarilor celorlalti.

Suntem o comunitate care incurajeaza educatia si in care se intalnesc know-how-ul si experienta cu perspective inovative de abordare a problemelor.

Aveti deja cont ? Login


Aveti deja cont ? Autentificare

Login

Autentificati-va pentru a pune intrebari, a raspunde la intrebarilor celorlalti sau pentru a va conecta cu prietenii.

Inregistrare

Resetare parola?

Nu aveti cont ? Inregistrare

Resetare parola

V-ati uitat parola ? Introduceti adresa de email si veti primi o noua parola.

Aveti deja cont ? Autentificare

Va rugam sa va autentificati.

Resetare parola?

Nu aveti cont ? Inregistrare

Please briefly explain why you feel this question should be reported.

Va rugam explicate, pe scurt, de ce credeti ca aceasta intrebare trebuie raportata.

Motivul pentru care raportezi utilizatorul.

LoginInregistrare

AniDeȘcoală.ro

AniDeȘcoală.ro Logo AniDeȘcoală.ro Logo

AniDeȘcoală.ro Navigation

  • TEME
  • FUN
  • SCOALA
  • DEX
  • PARENTING
CAUTA
PUNE O INTREBARE

Mobile menu

Inchide
PUNE O INTREBARE
  • HOME
  • TEME
    • Matematica
    • Limba romana
    •  Istorie
    •  Chimie
    • Biologie
    • Geografie
    •  Fizica
    • Informatica
    • Limbi straine
      • Engleza
      • Franceza
      • Germana
      • Altele
    • Diverse
    • Provocari
  • FUN
    • Povești pentru copii
      • Povesti nemuritoare
      • Povesti scurte cu talc
      • Alexandru Mitru
      • Anton Pann
      • Calin Gruia
      • Constanta Nitescu
      • Dumitru Almas
      • Elia David
      • Emil Garleanu
      • Grigore Alexandrescu
      • Ion Creanga
      • Ion Luca Caragiale
      • Marcela Penes
      • Marin Sorescu
      • Petre Ispirescu
      • Victor Eftimiu
      • Alti autori romani
      • Autori straini
        • Antoine de Saint Exupery
        • Charles Perrault
        • Edmondo de Amicis
        • Erika Scheuering
        • Esop
        • Felix Salten
        • Fraţii Grimm
        • Hans Christian Andersen
        • Jean de la Fontaine
        • Johanna Spyri
        • Lev Nicolaevici Tolstoi
        • Rudyard Kipling
        • Virginia Waters
        • Alti autori straini
    • Poezii
      • Grigore Vieru
      • Elena Farago
      • George Toparceanu
      • George Cosbuc
      • Mihai Eminescu
      • Nicolae Labis
      • Otilia Cazimir
      • Tudor Arghezi
      • Vasile Alecsandri
      • Alti autori
    • Stiati ca…
      • Romania
      • Sistemul solar
      • Plante
      • Animale
      • Superlative geografice
      • Altele
    • Citate celebre
    • Proverbe
    • Ghicitori
    • Glume si bancuri
    • Teste de cultura generala
    • Teste de personalitate
    • Probleme distractive
    • Activitati educative
    • Sfaturi practice
    • Planșe de colorat
    • Jocuri in aer liber
    • Abilitati practice
    • Jocuri distractive
    • Cantece pentru copii
    • Codul bunelor maniere
  • SCOALA
    • Matematica
      • Formule Algebra
      • Formule Geometrie
      • Formule Analiza
    • Gramatica
      • Stii sa scrii ?!
      • Părți de propoziție
      • Părți de vorbire
      • Cazurile
      • Sintaxa
      • Diverse
    • Limba romana
      • Bacalaureat
      • Abecedar
    • Cultura generala
  • IARNA
    • Colinde pentru copii
    • Povești de iarnă
    • Povești de Crăciun
    • Craciunul … ce, cum, cand ?
  • DEX
  • PARENTING
  • PUNCTE SI RANGURI
  • FAQ
  • CONTACT
Home/ Intrebari/Q 6532
Urmator
Answered
Florin2606
15
Florin2606user (0)
Pe: 14 aprilie 20212021-04-14T13:42:41+03:00 2021-04-14T13:42:41+03:00In: InformaticaIn: Clasele IX-XII

Limbaj C 4. Se considera o coada …

Limbaj C
4. Se considera o coada de masini care astepata la o statie de alimentare cu carburant. Scrieți un program care implementeaza coada de asteptare astfel:
– pentru fiecare mașina care ajunge la statie se memoreaza in coada de asteptare urmatoarele informatii:
– numar de inmatriculare (sir de maixm 10 caractere); – tipul/marca masinii (sir de maxima 30 caractere);
– culoarea masinii (sir de maxim 10 caractere);
– tip combustibil: benzina sau motorina (se face conventia benzina=1, motorina=2);
Scrieti un program care simuleaza coada de asteptare la statia de alimentare. Programul afiseaza un meniu cu urmatoarele optiuni:
1. Adaugarea unei masini la coada;
2. Eliminarea unei masini din coada;
3. Listarea cozii de așteptare – toate mașinile;
4. Listarea cozii de așteptare – numai mașinile pe benzina; 5. Listarea cozii de așteptare – numai mașinile pe motorina; 6. Calculul si afișarea lungimii cozii;
6. Terminarea programului.

  • 0
  • 1
  • 1
  • Share
    • Share pe Facebook
    • Share pe Twitter
    • Share pe WhatsApp

Similare

  • Identificati 5 tipuri de probleme din cadrul ...
  • Help!! Cum ar trebuii sa arate liniile ...
  • Ajutor, va rog frumos! 1. Create an ...
  • Se dau doi vectori u si v ...
  • Ce sunt obiectele? Cum se introduc obiectele? ...
  • O banca isi gestioneaza imprumuturile cu ajutorul ...

1 raspuns

  1. Best Answer
    Menim junior (I)
    2021-04-14T22:24:50+03:00Pe 14 aprilie 2021 la 10:24 PM
    #include 
    #include 
    #include 
    
    struct Node
    {
        char nrInMat[10];
        char marca[30];
        char color[10];
        int type;
        struct Node *next;
        struct Node *prev;
    };
    
    struct Node *addToList(struct Node *list1, char nrInMat[10], char marca[30], char color[10], int type)
    {
        struct Node *aux = (struct Node *)malloc(sizeof(struct Node));
        strcpy(aux->nrInMat, nrInMat);
        strcpy(aux->marca, marca);
        strcpy(aux->color, color);
        aux->type = type;
        aux->next = NULL;
        aux->prev = NULL;
        if (list1 == NULL)
            list1 = aux;
        else
        {
            while (list1->next)
                list1 = list1->next;
            aux->prev = list1;
            list1->next = aux;
        }
        return list1;
    }
    
    struct Node *removeFromList(struct Node *list, int i)
    {
        struct Node *aux;
        if (list)
        {
            while (list->prev)
                list = list->prev;
            while (list)
            {
                i--;
                if (i == 0)
                {
                    aux = list->prev;
                    aux->next = list->next;
                    aux = list->next;
                    aux->prev = list->prev;
                    while (aux->prev)
                        aux = aux->prev;
                    return aux;
                }
                else
                    list = list->next;
            }
            while (list->prev)
                list = list->prev;
        }
        return list;
    }
    
    int length(struct Node *list)
    {
        if (!list)
            return 0;
        int nr = 0;
        while (list->prev)
            list = list->prev;
        while (list)
        {
            nr++;
            list = list->next;
        }
        return nr;
    }
    
    void print(struct Node *list, int type)
    {
        if (list)
        {
            int n = 0;
            while (list->prev)
                list = list->prev;
            while (list)
            {
                n++;
                if (type == list->type || !type)
                {
                    printf("%d:nrInmatriculare %s, marca %s, culoare %s, tip %s\n", n, list->nrInMat, list->marca, list->color, list->type == 1 ? "benzina" : "motorina");
                }
                list = list->next;
            }
        }
    }
    
    int main()
    {
    
        char a[20], b[20], c[20];
    
        struct Node *coada = NULL;
    
        printf("1. Adaugarea unei masini la coada;\n2. Eliminarea unei masini din coada;\n3. Listarea cozii de asteptare - toate masinile;\n4. Listarea cozii de asteptare - numai masinile pe benzina; \n5. Listarea cozii de asteptare - numai masinile pe motorina; \n6. Calculul si afisarea lungimii cozii;\n7. Terminarea programului.\n");
        int opt;
        while (1)
        {
            scanf("%d", &opt);
            if (opt == 1)
            {
                char nrInMat[10], marca[30], culoare[10], tip[10];
                int type = 2;
                printf("Introduceti, pe rand, numarul de inmatriculare, marca, culoare si tipul(benzina sau motorina):");
                scanf("%s%s%s%s", nrInMat, marca, culoare, tip);
                if (strcmp(tip, "benzina") == 0)
                    type = 1;
                coada = addToList(coada, nrInMat, marca, culoare, type);
            }
            if (opt == 2)
            {
                if (!coada)
                {
                    printf("lista este goala, nu puteti sterge din ea\n");
                    continue;
                }
                int nr;
                printf("Introduceti numarul(incepand de la 1) din coada al masinii ce se doreste a fi eliminata:");
                scanf("%d", &nr);
                coada = removeFromList(coada, nr);
            }
            if (opt == 3)
                print(coada, 0);
            if (opt == 4)
                print(coada, 1);
            if (opt == 5)
                print(coada, 2);
            if (opt == 6)
            {
                printf("%d masini in coada\n", length(coada));
            }
            if (opt == 7)
            {
                break;
            }
        }
    }
    

    Acest cod nu functioneaza 100% corect dar nu mai am timp acum sa il imbunatatesc.

    • 1
    • Raspunde
Raspunde

Raspunde
Anulează răspunsul


Sidebar

PUNE O INTREBARE

TEME FARA RASPUNS

Identificati 5 tipuri de probleme din cadrul …

Read the dialogue again and match the …

Realizeaza un desen cu fete si schite …

Razele incidente pararele cu axa optică lentila …

Buna cine ma poate ajuta?

Buna seara.Cine ma poate ajuta urgent si …

2. Costul variabil mediu în To este …

bunajjj buna ziua, cine poate sa ma …

Realizati un eseu in care sa includeti …

Redactează un text creativ în care personajul …

Explore

  • Matematica
  • Limba romana
  •  Istorie
  •  Chimie
  • Biologie
  • Geografie
  •  Fizica
  • Informatica
  • Limbi straine
    • Engleza
    • Franceza
    • Germana
    • Altele
  • Diverse
  • Provocari

Footer

Despre noi

Platforma educationala pentru copii, parinti si profesori. Pune intrebari si primeste raspunsuri de la profesori si utilizatori experimentati. Transmite sugestii, povesti, articole etc.

Utile

  • Puncte si Ranguri
  • FAQ
  • Termeni și condiţii
  •  Modifica cookies
  • Contact

Proiecte

  • Parenting
  • Dictionar explicativ
  • Matematica
  • Gramatica limbii romane
  • Trafic

Statistici

  • Intrebari : 1.522
  • Raspunsuri : 1.965
  • Best Answers : 385
  • Articole : 5.199
  • Comentarii : 15.354

Inserare/editare legătură

Introdu URL-ul destinației

Sau leagă-te la conținutul existent

    Nu ai specificat niciun termen de căutare. Arăt elementele recente. Căută sau folosește tastele săgeată sus și jos pentru a selecta un element.