Jump to content
Fórum Script Brasil
  • 0

Não consigo fazer uma struc, estrutura de dados...


Renanzinth

Question

Gente, me tira uma dúvida, fiz uma struct aqui no meu prog, sendo que quando estou dando os valores as variáveis dessa struct, eu nem termino a função que dei ao while e o prog "para de funcionar"

PS: struct montada a partir da linha 14 e ela está sendo usada na case 1.

/* Programa
	Programa: Informações do aluno
	Autor: Renan Thiago de A. Narciso
	Data:13/05/2015
	Descrição:-------
	
	*/
	
	#include <stdio.h>
	#include <locale.h>
	#include <conio.h>
	#include <stdlib.h>
	
	struct dados{
			char materia[30];
			float nota1;
			float nota2;
			float nota3;
		};
		struct dados aluno;
	
	int main(void){
		setlocale(LC_ALL,"Portuguese"); //Selecionando a linguagem do programa para pt-BR
	
	/* Aqui vao as declaracoes das variaveis */
		int a = 0; //Declarando variável para controle de menu.
		
		int na=0, no; //Variáveis da case 1.
		char mat;
		int pe, pa, per; //Variáveis da case 2.
		
		int m=0, n; //Varíaveis da case 3.
	
	/* Aqui vao os comandos do programa */
		
		do{
		printf("\t\t\t********************************\n\n");
		printf("\t\t\t*  MENU PRINCIPAL DO PROGRAMA  *\n\n");
		printf("\t\t\t********************************\n\n");
		printf("1 - Registrador de notas.\n");
		printf("2 - Quantos periodos faltam para conclusão do seu curso.\n");
		printf("3 - Identificador de números pares e ímpares.\n\n");
		printf("4 - Sair.\n\n");
		printf("Informe a opção desejada: ");
		scanf("%d", &a); // Armazena o número digitado.
		system("cls"); // Limpa a tela.
		switch(a){
			case 1: //Opção 1//
			printf("Você entrou na opção Registrador de notas.\n");
			printf("\nDigite a quantidade de matérias: ");
			scanf("%d", &no);
			while(na<no){na++;
			printf("Nome da matéria: ");
			fflush(stdin);
			fgets(aluno.materia, 30, stdin);
			printf("Informe a 1º nota: ");
			scanf("%.2f", &aluno.nota1);
			fflush (stdin);
			printf("Informe a 2º nota: ");
			scanf("%.2f", &aluno.nota2);
			fflush (stdin);
			printf("Informe a 3º nota: ");
			scanf("%.2f", &aluno.nota3);
			fflush (stdin);
			}
			break;
			
			case 2: //Opção 2//
			printf("Você entrou na opção de períodos do curso.\n\n");
			while(1==1){
			printf("Digite a quantidade de períodos do seu curso: ");
			scanf("%d", &pe);
			printf("Em qual período você está: ");
			scanf("%d", &pa);
				if(pa>0){
			per=pe - pa;
			printf("\nFaltam %d perídos para concluir seu curso!", per);
			break;
			}
				else
					printf("Número inválido!\n");
			}
			printf("\n\n\nPressione uma tecla para voltar ao menu principal.");
			getch();
			system("cls");
			break;
			
			case 3: //Opção 3//
			printf("Você entrou na opção de dentificador de números pares e ímpares.\n");
			printf("\nDigite a quantidade de números: ");
			scanf("%d", &n);
			printf("\n");
			while(m<n){m++;
				if(m%2==0){
					printf("Números pares: %2.0d\n", m);
				}
				else{
					printf("Números Ímpares: %2.0d | ", m);
				}
			}
			printf("\n\n\nPressione uma tecla para voltar ao menu principal.");
			getch();
			system("cls");
			break;
			
			default:
				a = 4;
				printf("\t\t\t\n\n\nSaindo do programa...\n\n\n");
		} 
		} while(a != 4); // Enquanto a letra 'a' for diferente de 4, sai do programa.
		
		system("pause");
		return 0;
	}
Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...