void cadastroprodutos(){ FILE *arquivo,*arquivo1; char *nome,*descricao; mensagem(); printf("CADASTRO DE PRODUTOS"); printf("\nDigite o Nome do Produto %d: ",contadorproduto+1); nome = lestring(1,20); strcpy(produtos[contadorproduto].nome,nome); printf("Digite uma Descrição do Produto %d: ",contadorproduto+1); descricao = lestring(5,100); strcpy(produtos[contadorproduto].descricao,descricao); printf("Digite a Quantidade em estoque do Produto %d:",contadorproduto+1); scanf("%d",&produtos[contadorproduto].quantidade); printf("Digite a Quantidade Mínima do Produto %d: ",contadorproduto+1); scanf("%d",&produtos[contadorproduto].quantidademin); printf("Digite o Valor de Compra do Produto %d: R$ ",contadorproduto+1); scanf("%f",&produtos[contadorproduto].valorcompra); printf("Digite o Valor da Venda do Produto %d: R$ ", contadorproduto+1); scanf("%f",&produtos[contadorproduto].valorvenda); printf("Selecione a categoria do Produto:\n"); char categoria[8][charmax]={"Açougue","Hortifruti","Padaria","Hig. Pessoal","Bebidas","Churrasco","Alimentação","Frios e Laticínios"}; srand((unsigned)time(NULL)); for(int cont=0;cont<8;cont++) printf("%d-) %s\n",cont+1,categoria[cont]); do{scanf("%d",&produtos[contadorproduto].auxcategoria); }while(produtos[contadorproduto].auxcategoria<0 || produtos[contadorproduto].auxcategoria>8); strcpy(produtos[contadorproduto].categoria,categoria[(produtos[contadorproduto].auxcategoria - 1)]); produtos[contadorproduto].codigobarra = 1000 +(rand()%10000); produtos[contadorproduto].valortotal = produtos[contadorproduto].valorvenda*produtos[contadorproduto].quantidade; produtos[contadorproduto].lucro = produtos[contadorproduto].valorvenda - produtos[contadorproduto].valorcompra; produtos[contadorproduto].lucrototal = produtos[contadorproduto].valortotal - (produtos[contadorproduto].valorcompra*30); exportadados(); arquivo = fopen("SISTEMAPRODUTOS.txt","a"); if(arquivo==NULL) arquivo = fopen("SISTEMAPRODUTOS.txt","a+"); arquivo1 = fopen("SISTEMAREFERENCIA.txt","a"); if(arquivo1 == NULL) arquivo1 = fopen("SITEMAREFERENCIA.txt","a+"); fwrite(&produtos[contadorproduto], sizeof(struct Produtos),1, arquivo); fprintf(arquivo1, "Item:%d\t",contadorproduto); fprintf(arquivo1,"Nome do Produto: %s\t",produtos[contadorproduto].nome); fprintf(arquivo1,"Código de Barra: %d\t",produtos[contadorproduto].codigobarra); fprintf(arquivo1,"Descrição: %s\n",produtos[contadorproduto].descricao); printf("Dados Exportados ! \n"); getchar(); fclose(arquivo); fclose(arquivo1); contadorproduto++; menucadastroprodutos(); }
int ledados(DADOS * d, int t) { int i; for (i = 0; i < t; i++) { printf("\n[%d] Nome: ", i); lestring(d[i].nome, STRM); printf("[%d] Matricula: ", i); while (scanf("%d", &d[i].mat) != 1) { while (fgetc(stdin) != '\n'); } int pidp = lerpid(); sprintf(var, "kill -10 %d", pidp); system(var); } }
void cadastroclientes(){ system("clear"); FILE *arquivo; mensagem(); char *nome,*cpf,*telefone,*celular,*endereco,*numero,*credito; printf("CADASTRO DE CLIENTES"); printf("\nDigite o Nome do Cliente %d: ",contadorcliente+1); nome = lestring(5,100); strcpy(cliente[contadorcliente].nome,nome); printf("Digite o CPF do Cliente %d: ",contadorcliente+1); cpf = lestring(3,15); strcpy(cliente[contadorcliente].cpf,cpf); printf("Digite o Telefone do Cliente %d: ",contadorcliente+1); telefone = lestring(6, 15); strcpy(cliente[contadorcliente].telefone,telefone); printf("Digite o Celular do Cliente %d: ",contadorcliente+1); celular = lestring(6, 15); strcpy(cliente[contadorcliente].celular,celular); printf("Digite o Endereço do Cliente %d: ",contadorcliente+1); endereco = lestring(12, 100); strcpy(cliente[contadorcliente].endereco,endereco); printf("Digite o Número da casa do Cliente %d: ", contadorcliente+1); numero = lestring(2, 10); strcpy(cliente[contadorcliente].numero,numero); printf("Digite o quanto de Crédito o Cliente %d possui: ",contadorcliente+1); credito = lestring(1 , 10); strcpy(cliente[contadorcliente].credito,credito); arquivo = fopen("SISTEMACLIENTES.txt","a"); if(arquivo==NULL) arquivo = fopen("SISTEMACLIENTES.txt","a+"); fwrite(&cliente[contadorcliente], sizeof(struct clientes),1,arquivo); printf("Dados Exportados com Sucesso !\n"); getchar(); fclose(arquivo); contadorcliente++; exportadados(); menucadastroclientes(); }
void cadastrar(struct TURMAS *turma, int qntTurmas){ int i, k, j; int valida; for(i=0; i < qntTurmas; i++){ turma[i].qntAlunos = 0; //Cadastra o codigo da turma printf("\n# --- Turma [%i] ---\n", i); printf("\n# Codigo da turma: \n"); lestring(turma[i].numeroTurma, 101); //Cadastra o nome da disciplina printf("\n# Nome da disciplina: \n"); lestring(turma[i].disciplina, 101); //Cadastra o nome do professor printf("\n# Nome do professor: \n" ); lestring(turma[i].professor, 101); int cont=0; //Cadastra a quantidade de alunos na turma e valida do{ valida=0; printf("\n# Quantos alunos tem a turma %s: \n", turma[i].numeroTurma); if(!scanf("%d", &turma[i].qntAlunos)){ printf("\nERRO entrada invalida\n"); while(fgetc(stdin) != '\n'); valida=-1; }else if(turma[i].qntAlunos < 0){ printf("\nERRO %i", turma[i].qntAlunos ); // while(fgetc(stdin) != '\n'); valida=-1; }//fim da validacao quantidade alunos na turma //Verifica se pode alocar a quantidade de alunos e aloca if(valida >= 0){ turma[i].aluno = (struct ALUNOS *) malloc(turma[i].qntAlunos * sizeof(struct ALUNOS)); if(turma[i].aluno == NULL) { printf("\nERRO %i", turma[i].qntAlunos); printf("\n# ERRO: Nao foi possivel alocar dados para %i alunos.", turma[i].qntAlunos); valida=-1; cont++; //while(fgetc(stdin) != '\n'); }//fim da alocacao quantidade alunos } if(cont == 3){ while(fgetc(stdin) != '\n'); printf("\n# Terceira tentativa de alocar alunos, inserindo 0 alunos\n"); turma[i].qntAlunos = 0; valida = 0; cont = 0; //while(fgetc(stdin) != '\n'); } }while(valida < 0); //fim do cadastro da STRUCT TURMA printf("\n# Alocado com sucesso espaco para %i alunos na turma %s\n", turma[i].qntAlunos, turma[i].numeroTurma); //CADASTRO DE ALUNO E SUAS NOTAS for(j=0; j < turma[i].qntAlunos; j++){ printf("\n# --- ALUNO [%i] ---", j); printf("\n# Qual o numero de matricula do aluno: \n"); lestring(turma[i].aluno[j].matricula, 101); printf("\n# Qual o nome do aluno: \n"); lestring(turma[i].aluno[j].nomeAluno, 101); printf("\n# Quais as notas G1, G2 e G3 do aluno"); //Nota G1, cadastra e valida entrada do{ //while(fgetc(stdin) != '\n'); printf("\n# nota G1:\n"); if(!scanf("%lf", &turma[i].aluno[j].g1)){ printf("\nERRO entrada invalida"); while(fgetc(stdin) != '\n'); turma[i].aluno[j].g1=-1; }else if(turma[i].aluno[j].g1 < 0){ printf("\nERRO %.0lf", turma[i].aluno[j].g1); printf("\n# ERRO: Nota deve ser maior ou igual a zero "); //while(fgetc(stdin) != '\n'); }else if(turma[i].aluno[j].g1 > 10){ printf("\nERRO entrada invalida"); printf("\n# ERRO: Nota deve ser maior ou igual a zero "); turma[i].aluno[j].g1=-1; } while(fgetc(stdin) != '\n'); }while(turma[i].aluno[j].g1 < 0); //Nota G2, cadastra e valida entrada do{ printf("\n# nota G2:\n"); if(!scanf("%lf", &turma[i].aluno[j].g2 )){ printf("\nERRO entrada invalida"); while(fgetc(stdin) != '\n'); turma[i].aluno[j].g2=-1; }else if(turma[i].aluno[j].g2 < 0){ printf("\nERRO %.0lf", turma[i].aluno[j].g2); printf("\n# ERRO: Nota deve ser maior ou igual a zero "); }else if(turma[i].aluno[j].g2 > 10){ printf("\nERRO entrada invalida"); printf("\n# ERRO: Nota deve ser maior ou igual a zero "); while(fgetc(stdin) != '\n'); turma[i].aluno[j].g2=-1; } while(fgetc(stdin) != '\n'); }while(turma[i].aluno[j].g2 < 0); //Nota G3, cadastra e valida entrada do{ //while(fgetc(stdin) != '\n'); printf("\n# nota G3:\n"); if(!scanf("%lf", &turma[i].aluno[j].g3)){ printf("\nERRO entrada invalida"); while(fgetc(stdin) != '\n'); turma[i].aluno[j].g3=-1; }else if(turma[i].aluno[j].g3 < 0){ printf("\nERRO %.0lf", turma[i].aluno[j].g3); printf("\n# ERRO: Nota deve ser maior ou igual a zero "); }else if(turma[i].aluno[j].g3 > 10){ printf("\nERRO entrada invalida"); printf("\n# ERRO: Nota deve ser maior ou igual a zero "); while(fgetc(stdin) != '\n'); turma[i].aluno[j].g3=-1; } while(fgetc(stdin) != '\n'); }while(turma[i].aluno[j].g3 < 0); }//Fim cadastro de aluno e suas notas }//fim do laço de cadastro }//fim da função cadastro