Guest User

Untitled

a guest
Aug 19th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 6.31 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define MAX 1500
  5.  
  6. typedef enum {vendido ,disponivel} ESTADO;
  7. typedef enum {gasolina, gasoleo, gas} COMBUSTIVEL;
  8.  
  9. //struct que vai guardar a informação sobre cada carro
  10. typedef struct{
  11.     char marca[20];
  12.     char matricula[15];
  13.     char dmatricula[10];
  14.     COMBUSTIVEL t_comb;
  15.     int cilindrada;
  16.     float preco;
  17.     ESTADO disponibilidade;
  18. }AUTOMOVEL;
  19.  
  20. //struct que vai guardar a informação sobre cada cliente
  21. typedef struct{
  22.     char nome[50];
  23.     int num_ident;
  24.     int nif;
  25.     char morada[200];
  26.     int tel;
  27. }CLIENTE;
  28.  
  29.  
  30. //struct que irá guardar a informação sobre cada venda
  31. typedef struct{
  32.     CLIENTE nome;
  33.     AUTOMOVEL carro;
  34.     char dataVenda;
  35.     float precoFinal;
  36. }VENDA;
  37.  
  38. //Vectores que vão guardar as listagens
  39. typedef AUTOMOVEL VECTCAR[MAX];
  40. typedef CLIENTE VECTCLI[MAX];
  41. typedef VENDA VECTVEN[MAX];
  42.  
  43.  
  44.  
  45. char menu(void);
  46. char menucarro(void);
  47. char menucliente(void);
  48. char menuvenda(void);
  49. CLIENTE editCli(VECTCLI clientes, int tclientes);
  50. CLIENTE insertCli(void);
  51. void showClient(VECTCLI v_clientes, int nclientes , char CliName);
  52. AUTOMOVEL insertAut(void);
  53. int main()
  54. {
  55.   VECTCLI clientes;
  56.   VECTVEN vendas;
  57.   VECTCAR carros;
  58.   char opcao,opcaocarro,opcaocliente,opcaovenda;
  59.  
  60.   do
  61.   {
  62.   opcao=menu();
  63.   switch(opcao)
  64.   {
  65.   case '1':
  66.   opcaocarro = menucarro();
  67.   break;
  68.   case '2':
  69.   opcaocliente = menucliente();
  70.   break;
  71.   case '3':
  72.   opcaovenda = menuvenda();
  73.   break;
  74.   }//switch
  75. printf("\n Pressione qualquer tecla para continuar");
  76. //getch();
  77. }while(opcao!='0');
  78. return 0;
  79.  
  80. }
  81.  
  82. char menu(void)
  83. {
  84. char opcao;
  85. do{
  86. //system("cls");
  87. printf("\n   ########################");
  88. printf("\n   #                      #");
  89. printf("\n   #  STANT DE AUTOMOVEL  #");
  90. printf("\n   #   By Mike&Rubem      #");
  91. printf("\n   ########################");
  92. printf("\n\n      1 - Menu Carros");
  93. printf("\n      2 - Menu Clientes");
  94. printf("\n      3 - Menu Vendas");
  95. printf("\n      0 - Salvar e Sair");
  96. printf("\n\n   Escolha uma opcao: ");
  97. scanf("%c", &opcao);
  98. if(opcao<'0' || opcao>'3')
  99. {
  100. printf("ERRO_ Opção inválida");
  101. //getch();
  102. }
  103. }while(opcao<'0' ||opcao>'3');
  104. return(opcao);
  105. }
  106.  
  107. char menucarro(void)
  108. {
  109. char opcaocarro;
  110. int tautomovel = 0;
  111. VECTCAR v_automovel;
  112. do{
  113. //system("cls");
  114. printf("\n 1 - Inserir Carro");
  115. printf("\n 2 - Visualizar Informacao de um carro");
  116. printf("\n 3 - Editar Carro");
  117. printf("\n 4 - Listar Carro");
  118. printf("\n 5 - Pesquisar Carro pela matricula");
  119. printf("\n 0 - Sair do Menu Carro");
  120. printf("\n\n Escolha uma opcao: ");
  121. fflush(stdin);
  122. scanf("%c", &opcaocarro);
  123.  
  124. if(opcaocarro<'0' || opcaocarro>'5')
  125. {
  126. printf("ERRO: Opcao invalida");
  127. //getch();
  128. }else{
  129.       switch (opcaocarro) {
  130.         case '1':
  131.             v_automovel[tautomovel++] = insertAut();
  132.  
  133.         break;
  134.         case '2':
  135.         break;
  136.         case '3':
  137.  
  138.           break;
  139.         default :
  140.  
  141.         break;
  142.     }
  143. }
  144. }while(opcaocarro<'0' ||opcaocarro>'5');
  145.  
  146. return(opcaocarro);
  147. }
  148.  
  149.  
  150. char menucliente(void)
  151. {
  152. char opcaocliente;
  153. int tclientes = 0;
  154. VECTCLI v_clientes;
  155. char nome[25];
  156. do{
  157. //system("cls");
  158. printf("\n 1 - Inserir Cliente");
  159. printf("\n 2 - Editar Cliente");
  160. printf("\n 3 - Listar Cliente");
  161. printf("\n 4 - Pesquisar Cliente por nome");
  162. printf("\n 0 - Sair do Menu Cliente");
  163. printf("\n\n Escolha uma opcao:");
  164. fflush(stdin);
  165. scanf("%c", &opcaocliente);
  166.  
  167. if(opcaocliente<'0' || opcaocliente>'4')
  168. {
  169. printf("ERRO: Opcao invalida");
  170. //getch();
  171. }else{
  172.     switch (opcaocliente) {
  173.         case '1':
  174.             v_clientes[tclientes++] = insertCli();
  175.         break;
  176.         case '2':
  177.         break;
  178.         case '3':
  179.           printf("Introduza o nome do Cliente:");
  180.           gets(nome);
  181.           showClient(v_clientes,tclientes,nome);
  182.           break;
  183.         default :
  184.  
  185.         break;
  186.     }
  187.  
  188. }
  189. }while(opcaocliente<'0' ||opcaocliente>'4');
  190. return(opcaocliente);
  191. }
  192.  
  193.  
  194.  
  195. char menuvenda(void)
  196. {
  197. char opcaovenda;
  198. do{
  199. //system("cls");
  200. printf("\n 1 - Inserir Venda");
  201. printf("\n 2 - Total Facturado");
  202. printf("\n 3 - Vendas Ultimo mes");
  203. printf("\n 4 - Vendas mais alta");
  204. printf("\n 5 - Vendas mais baixa");
  205. printf("\n 6 - Percentagem de vendas por combustivel");
  206. printf("\n 7 - Vendas de um cliente");
  207. printf("\n 0 - Sair do menu vendas");
  208. printf("\n\n Escolha uma opcao: ");
  209. scanf("%c", &opcaovenda);
  210. if(opcaovenda<'0' || opcaovenda>'7')
  211. {
  212. printf("ERRO: Opcao invalida");
  213. //getch();
  214. }
  215. }while(opcaovenda<'0' ||opcaovenda>'7');
  216. return(opcaovenda);
  217. }
  218.  
  219. //Inserir Cliente
  220. //Editar Cliente");
  221. //Listar Cliente");
  222. //Pesquisar Cliente por nome
  223.  
  224.  
  225. CLIENTE insertCli(void){
  226.     CLIENTE info;
  227.     printf("Insira o nome do cliente:");
  228.     scanf("%s", info.nome);
  229.     printf("Introduza o número do cartao de cidadão/BI:");
  230.     scanf("%d", &info.num_ident);
  231.     printf("Introduza o NIF do cliente");
  232.     scanf("%d", &info.nif);
  233.     printf("Introduza a morado do cliente:");
  234.     scanf("%s", info.morada);
  235.     printf("Introduza o telefone/telemovel do cliente:");
  236.     scanf("%d", &info.tel);
  237.  
  238.     return(info);
  239. }
  240.  
  241. //funcao auxiliar para correr o vector de clientes
  242.  
  243. void listCli(CLIENTE client_info){
  244.     printf("Nome do Cliente: %s", client_info.nome);
  245.     printf("Morada do Cliente: %s", client_info.morada);
  246.     printf("Nif do cliente: %d", client_info.nif);
  247.     printf("BI do cliente: %d", client_info.num_ident);
  248.     printf("Número de telefone do cliente: %d", client_info.tel);
  249.  
  250. }
  251.  
  252. //função que vai pesquisar um cliente pelo nome
  253. void showClient(VECTCLI v_clientes, int nclientes , char CliName){
  254.     int i, flag;
  255.    for (i=0;i<nclientes;i++){
  256.         flag = strcmp(v_clientes[i].nome , CliName )
  257.  
  258.             printf("As informações sobre o cliente são as seguintes:");
  259.             listCli(v_clientes[i]);
  260.  
  261.         }else{
  262.             printf("Nome não encontrado!");
  263.         }
  264.  
  265.  
  266.    }
  267.  
  268. }
  269.  
  270.  
  271. //Inserir Carro
  272. AUTOMOVEL insertAut(void){
  273.     AUTOMOVEL infoA;
  274.     printf("Insira a marca do carro: ");
  275.     scanf("%s", infoA.marca);
  276.     printf("Introduza a matricula do carro: ");
  277.     scanf("%s", &infoA.matricula);
  278.     printf("Introduza a data da primeira matricula: ");
  279.     scanf("%d", &infoA.dmatricula);
  280.     printf("Introduza o combustivel do carro: ");
  281.     scanf("%s", infoA.t_comb);
  282.     printf("Introduza a cilindrada do carro: ");
  283.     scanf("%d", &infoA.cilindrada);
  284.     printf("Introduza o preco do carro: ");
  285.     scanf("%2.f", &infoA.preco);
  286.     printf("Introduza o estado do carro: ");
  287.     scanf("%s", &infoA.disponibilidade);
  288.     return(infoA);
  289. }
Add Comment
Please, Sign In to add comment