Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- typedef struct {
- char nome[30];
- char ramo[30];
- int estande, catego, colabo;
- } tipocadastro;
- /* funcoes */
- void Menu (tipocadastro *cadastro);
- /*OPÇAO N1 */
- void cadastro_usuario(tipocadastro *cadastro){
- char flag;
- FILE *fp;
- flag='s';
- while (flag == 's'){
- fp = fopen ("cadastro.bin", "r+b");
- if(fp == NULL) {
- fp = fopen ("cadastro.bin", "wb");
- }
- printf("\nInforme o nome: ");
- scanf("%s", cadastro->nome);
- getchar ();
- printf("\nInforme o ramo: ");
- scanf("%s", cadastro->ramo);
- getchar ();
- printf("\nInforme o estande: ");
- scanf("%d", &cadastro->estande);
- getchar ();
- printf("\nInforme a categoria: ");
- scanf("%d", &cadastro->catego);
- getchar ();
- printf("\nInforme o numero de colaboradores: ");
- scanf("%d", &cadastro->colabo);
- printf("%s\n%s\n%d\n%d\n%d\n",cadastro->nome,cadastro->ramo,cadastro->estande,cadastro->catego,cadastro->colabo);
- printf("Arquivo alocado em %p\n",fp);
- fwrite (&cadastro, sizeof(tipocadastro),1,fp);
- printf("Dados gravados\n");
- printf("\n\ndeseja criar um novo cadastro?(s/n): ");
- getchar ();
- scanf("%c", &flag);
- }
- fclose(fp);
- printf("\nvoltando pro menu :D");
- }
- /*OPÇAO N2 */
- void cadastro_existente (tipocadastro *cadastro){
- char flag;
- FILE *fp;
- flag='s';
- fp = fopen ("cadastro.bin", "rb");
- if(!fp) {
- printf("\no cadastro atual não possui dados");
- fp = fopen ("cadastro.bin", "wb");
- }
- else {
- fp=fopen("cadastro.bin", "ab");
- printf("arquivo existe\n");
- }
- while (flag=='s') {
- printf("\nInforme o nome: ");
- scanf("%s", cadastro->nome);
- getchar ();
- printf("\nInforme o ramo: ");
- scanf("%s", cadastro->ramo);
- getchar ();
- printf("\nInforme o estande: ");
- scanf("%d", &(cadastro->estande));
- getchar ();
- printf("\nInforme a categoria: ");
- scanf("%d", &(cadastro->catego));
- getchar ();
- printf("\nInforme o numero de colaboradores: ");
- scanf("%d", &(cadastro->colabo));
- printf("%s\n%s\n%d\n%d\n%d\n",cadastro->nome,cadastro->ramo,cadastro->estande,cadastro->catego,cadastro->colabo);
- printf("Arquivo alocado em %p\n",fp);
- fwrite (cadastro, sizeof(tipocadastro),1,fp);
- printf("\n\ndeseja criar um novo cadastro?(s/n): ");
- getchar();
- scanf("%c", &flag);
- }
- fclose(fp);
- printf("Dados gravados\n");
- }
- /*OPÇAO 03 */
- void consultar_cadastro_nestande (tipocadastro *cadastro){
- int num_estande;
- FILE *fp;
- fp = fopen ("cadastro.bin", "r+b");
- if(fp == NULL) {
- printf("\nNao existem cadastros a serem consultados\ncrie um cadastro");
- /* fp = fopen ("cadastro.bin", "wb"); */
- Menu(cadastro);
- }
- printf("\nentre com o numero do estande");
- scanf("%d", &num_estande);
- getchar ();
- while (fread(cadastro, sizeof(tipocadastro),1,fp) != 0) {
- if (&num_estande == &cadastro->estande ) {
- printf("\n\nNome: %s", cadastro->nome);
- }
- }
- }
- /*OPÇÃO 04 */
- void consultar_cadastro_categoria (tipocadastro *cadastro) {
- }
- /*OPÇÃO 05 */
- void Arquivo_texto (){
- }
- /*MENU PRINCIPAL */
- void Menu (tipocadastro *cadastro)
- {
- int option, running=0;
- while (running == 0) {
- printf("1.CRIAR E INICIAR CADASTRO NOVO\n2.INCLUIR DADOS NO CADASTRO EXISTENTE\n3.CONSULTAR O CADASTRO NUMERO DO ESTANDE\n4.CONSULTAR O CADASTRO POR CATEGORIA\n5.GERAR RELATORIO EM ARQUIVO .TXT\n6.SAIR\n\nescolha uma opcao: ");
- scanf("%d", &option);
- switch(option){
- case 1: cadastro_usuario(cadastro);
- break;
- case 2: cadastro_existente(cadastro);
- break;
- case 3:consultar_cadastro_nestande(cadastro);
- break;
- case 4:consultar_cadastro_categoria(cadastro);
- break;
- case 5:Arquivo_texto ();
- break;
- case 6: running++;
- break;
- default:break;
- }
- /*getchar ();*/
- }
- }
- /*____________________________________________________________main________________________________________________________________________*/
- int main () {
- tipocadastro cadastro;
- int option;
- FILE *fp;
- char nomearquivo_cadastro[50] = "cadastro.bin";
- Menu(&cadastro);
- printf("retornando\n");
- getchar ();
- getchar ();
- return (0);
- }
Add Comment
Please, Sign In to add comment