Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ConsoleApplication1.cpp : Defines the entry point for the console application.
- //
- #include <stdlib.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <conio.h>
- #include "stdafx.h"
- struct Client {
- char nume_client[50], prenume_client[50], adresa_livrare[100], numar_telefon[13], adresa_email[50];
- int id_client;
- }a[100];
- struct Angajat {
- char nume_angajat[50], prenume_angajat[50], departament_angajat[50];
- //char lucrator;
- int lucrator;
- //asa cum ai structurat tu programul, lucrator este un int
- int id_angajat;
- union
- {
- struct casier
- {
- int cod_casier;
- char nume_casier[50], prenume_casier[50];
- }casier;
- struct operator_calc
- {
- int cod_op_calc;
- char nume_op[50], prenume_op[50];
- }operator_calc;
- struct coordonator
- {
- int cod_coord;
- char nume_coord[50], prenume_coord[50];
- }coordonator;
- struct graphic_designer
- {
- int cod_designer;
- char nume_designer[50], prenume_designer[50];
- }graphic_designer;
- struct op_comenzi_online
- {
- int cod_op_com;
- char nume_op_com[50], prenume_op_com[50];
- }op_comenzi;
- struct ofiter_suport_clienti
- {
- int cod_ofiter;
- char nume_ofiter[50], prenume_ofiter[50];
- }ofiter;
- }f;
- }b[100];
- struct Produs {
- char nume_produs[150], categorie_produs[100];
- float pret_produs;
- int cod_produs, cantitate_produs;
- }c[100];
- struct Magazin {
- char adresa_magazin[150];
- float profit_magazin;
- int nr_angajati;
- }d[100];
- struct Facturi_fiscale {
- int nr_factura;
- char serie_factura[50], nume_casier[50], prenume_casier[50], ziua_facturarii[50];
- float total_plata;
- }e[100];
- enum saptamana { luni, marti, miercuri, joi, vineri, sambata, duminica };
- int main()
- {
- int i, client, produs, magazin, factura_fiscala, angajat, n, lucrator, g;
- int clearEndl; //fiecare scanf iti lasa un /n in urma necitit
- // whileul ala se asigura ca nu ai niciun char de /n
- //(linie noua, e "urma" lasata de enter, practic fiecare tasta iti lasa o "urma", chiar daca nu iti apare pe ecran)
- // din cauza /n nu iti mergea primul gets, el citea /n si trecea la linie noua
- // http://stackoverflow.com/questions/5546874/using-scanf-and-fgets-in-the-same-program
- //also, nu imi compila cu gets() fiindca e prea deprecated, nu am stat sa caut sa-l fac sa mearga, foloseste fgets(),
- //oricum gets() si scanf() nu se folosesc decat la facultate xD
- /*
- g=angajat
- */
- printf(" ******************************\n\n");
- printf(" Pc fun\n");
- printf(" Baza de date magazin IT\n\n");
- printf(" ******************************\n\n");
- printf("Numar clienti=");
- scanf("%d", &client);
- printf("\n");
- for (i = 1; i <= client; i++)
- {
- printf("Introduceti numele clientului: ");
- scanf("%s", &a[i].nume_client);
- printf("\nIntroduceti prenumele clientului: ");
- scanf("%s", &a[i].prenume_client);
- printf("\nIntroduceti id clientului: ");
- scanf("%s", &a[i].id_client);
- printf("\nIntroduceti numarul de telefon: ");
- scanf("%s", &a[i].numar_telefon);
- printf("\nIntroduceti adresa de email: ");
- scanf("%s", &a[i].adresa_email);
- printf("\nIntroduceti adresa de livrare: ");
- //gets(a[i].adresa_livrare);
- //gets(a[i].adresa_livrare); de ce gets!?!?!? e deprecated
- while ((clearEndl = getchar()) != EOF && clearEndl != '\n')
- //asta e whileul la care m-am referit la inceput
- ;
- fgets(a[i].adresa_livrare, sizeof(a[i].adresa_livrare), stdin);
- //scanf("%s %*c", &a[i].adresa_livrare);
- if (i < client)
- {
- printf("\n*********************\n");
- printf("Urmatorul client");
- }
- printf("\n*********************\n\n");
- }
- printf("Numarul de magazine= ");
- scanf("%d", &magazin);
- for (i = 1; i <= magazin; i++)
- {
- printf("\nIntroduceti adresa magazinului: ");
- //gets(d[i].adresa_magazin);
- //gets(d[i].adresa_magazin);
- while ((clearEndl = getchar()) != EOF && clearEndl != '\n') //asta e whileul la care m-am referit la inceput
- ;
- fgets(d[i].adresa_magazin, sizeof(d[i].adresa_magazin), stdin);
- //scanf("%s", &a[i].adresa_livrare); ce era cu asta aici O_O ?
- printf("\nIntroduceti profitul magazinului: ");
- scanf("%f", &d[i].profit_magazin);
- if (i < magazin)
- {
- printf("\n********************\n");
- printf("Urmatorul magazin");
- }
- printf("\n********************\n\n");
- }
- //iti trebuie ceva repetitiv aici, folosesti b[i].lucrator dar tu nu misti i-ul
- int nrAngajati;
- printf("Cati angajati avem, sau ceva ?");
- scanf("%d", &nrAngajati);
- for (i = 1; i <= nrAngajati; i++) {
- printf("\nIntroduceti numarul de angajati situati pe acest post = "); //care post ?
- scanf("%d", &lucrator);
- printf("Posturile angajatilor: \n\t[1] Casier\n\t[2] Operator calculator\n\t[3] Coordonator\n\t[4] Graphic Designer\n\t[5] Operator comenzi online\n\t[6] Ofiter suport clienti\n Introduceti una dintre cifrele de mai sus: ");
- scanf("%d", &b[i].lucrator); //nu-ti mergea pt ca %s e pt stringuri, tu vrei sa citesti un int
- printf("\nPostul ales este: ");
- }
- for (i = 1; i <= lucrator; i++)
- {
- /* if(i < g)
- {
- printf ("\n**********************\n");
- printf ("Urmatorul angajat");
- }
- printf ("\n**********************\n\n"); */
- switch (b[i].lucrator)
- {
- case 1:
- printf("Casier");
- printf("\nIntroduceti cod angajat: ");
- scanf("%d", b[i].f.casier.cod_casier);
- printf("\nIntroduceti numele angajatului: ");
- scanf("%s", b[i].f.casier.nume_casier);
- printf("\nIntroduceti prenumele angajatului: ");
- scanf("%s", b[i].f.casier.prenume_casier);
- printf("\n**********************\n\n");
- break;
- case 2:
- printf("Operator calculator");
- printf("\nIntroduceti cod angajat: ");
- scanf("%d", b[i].f.operator_calc.cod_op_calc);
- printf("\nIntroduceti numele angajatului: ");
- scanf("%s", b[i].f.operator_calc.nume_op);
- printf("\nIntroduceti prenumele angajatului: ");
- scanf("%s", b[i].f.operator_calc.prenume_op);
- break;
- case 3:
- printf("Coordonator");
- printf("\nIntroduceti cod angajat: ");
- scanf("%d", b[i].f.coordonator.cod_coord);
- printf("\nIntroduceti numele angajatului: ");
- scanf("%s", b[i].f.coordonator.nume_coord);
- printf("\nIntroduceti prenumele angajatului: ");
- scanf("%s", b[i].f.coordonator.prenume_coord);
- break;
- case 4:
- printf("Graphic designer");
- printf("\nIntroduceti cod angajat: ");
- scanf("%d", b[i].f.graphic_designer.cod_designer);
- printf("\nIntroduceti numele angajatului: ");
- scanf("%s", b[i].f.graphic_designer.nume_designer);
- printf("\nIntroduceti prenumele angajatului: ");
- scanf("%s", b[i].f.graphic_designer.prenume_designer);
- break;
- case 5:
- printf("Operator comenzi online");
- printf("\nIntroduceti cod angajat: ");
- scanf("%d", b[i].f.op_comenzi.cod_op_com);
- printf("\nIntroduceti numele angajatului: ");
- scanf("%s", b[i].f.op_comenzi.nume_op_com);
- printf("\nIntroduceti prenumele angajatului: ");
- scanf("%s", b[i].f.op_comenzi.prenume_op_com);
- break;
- case 6:
- printf("Ofiter suport clienti");
- printf("\nIntroduceti cod angajat: ");
- scanf("%d", b[i].f.ofiter.cod_ofiter);
- printf("\nIntroduceti numele angajatului: ");
- scanf("%s", b[i].f.ofiter.nume_ofiter);
- printf("\nIntroduceti prenumele angajatului: ");
- scanf("%s", b[i].f.ofiter.prenume_ofiter);
- break;
- default:
- printf("Niciun post ales, ceva eroare!!");
- //obisnuieste-te sa pui si default la switch
- }
- }
- /*
- printf ("Introduceti datele despre angajati \n");
- printf ("\nIntroduceti numarul de angajati= ");
- scanf ("%d", &angajat);
- for (i = 1; i <= angajat; i++)
- {
- printf ("\nIntroduceti id angajat: ");
- scanf ("%s", &b[i].id_angajat);
- printf ("\nIntroduceti numele angajatului: ");
- scanf ("%s", &b[i].nume_angajat);
- printf ("\nIntroduceti prenumele angajatului: ");
- scanf ("%s", &b[i].prenume_angajat);
- printf ("\nIntroduceti departamentul pe care este repartizat angajatul: ");
- scanf ("%s", &b[i].departament_angajat);
- if(i<angajat)
- {
- printf ("\n**********************\n");
- printf ("Urmatorul angajat");
- }
- printf ("\n**********************\n\n");
- }
- printf ("Cantitatea de produse vandute= ");
- scanf ("%d", &produs);
- for (i = 1; i <= produs; i++)
- {
- printf ("\nIntroduceti codul produsului: ");
- scanf ("%d", &c[i].cod_produs);
- printf ("\nIntroduceti numele produsului: ");
- scanf ("%s", &c[i].nume_produs);
- printf ("\nIntroduceti categoria produsului: ");
- scanf ("%s", &c[i].categorie_produs);
- printf ("\nIntroduceti pretul produsului ");
- scanf ("%f", &c[i].pret_produs);
- printf ("\nIntroduceti numarul de bucati al produsului: ");
- scanf ("%d", &c[i].cantitate_produs);
- if(i<produs)
- {
- printf ("\n*****************\n");
- printf ("Urmatorul produs");
- }
- printf ("\n*****************\n\n");
- }
- */
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement