Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

RGRQRS

if

Recommended Posts

Boa noite!!!

Este codigo esta correto para entrar e sair do while, mas, não pede ou executa os ifs, onde será...rsrs

 

Diante mão agradeço as dicas.

 

 

#include<stdio.h>
#include<stdlib.h>
//#include<iostream.h>
main()
{
	  int ra, cont, serie;
	  char curso, res, nome;
	  float n1, n2, med, soma, medger;
	  soma=0;
	  cont=0;
	  printf("\nDigite o numero do aluno: ");
	  scanf("%d",&ra);
	  while(ra!=0)
		   {
			printf("\nDigite a serie: ");
			scanf("%d",&serie);
			printf("\nDigite o curso: ");
			scanf("%s",&curso);
			
			if (serie==1 && curso=='info')
			   {
				printf("\nDigite o nome: ");
				scanf("%s",&nome);
				printf("\nDigite a primeira nota: ");
				scanf("%f",&n1);
				printf("\nDigite a segunda nota: ");
				scanf("%f",&n2);
				
				med=(2*n1+n2)/3;
				
				if(med>=7)
				   res='Aprovado';
				else
					if(med>=3)
					   res='Em exame';
					else
					   res='Reprovado';					  
					   printf("%d, %s, %s, %i",ra, nome, res, med);
					   soma=soma+med;
					   cont=cont+1;
				}
					   printf("\nDigite o numero do aluno: ");
					   scanf("%d",&ra);
			}			 
					   medger=soma/cont;
					   printf("\nA media geral eh = %f",medger);
					   system ("pause");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

quando for postar um código usa o "inserir code" ali, assim fica terrivel de ler sem a identação, não tem como achar os erros praticamente, facilitaria se tu editasse e solocasse as tags do code pra ficar indentado ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

curso=='info'

 

strcmp(curso,"info") == 0

 

 

res='Aprovado';

 

aspas simples => caractere

aspas duplas => string

 

 

while(1) {
printf("\nDigite o numero do aluno: ");
scanf("%d",&ra);
if (ra == 0)
   break;
printf("\nDigite a serie: ");
scanf("%d",&serie);
printf("\nDigite o curso: ");
scanf("%s",&curso);
if (serie==1 && strcmp(curso,"info") == 0) {
	  printf("\nDigite o nome: ");
	  scanf("%s",&nome);
	  printf("\nDigite a primeira nota: ");
	  scanf("%f",&n1);
	  printf("\nDigite a segunda nota: ");
	  scanf("%f",&n2);

	  med=(2*n1+n2)/3;
	  if(med>=7)
		 res="Aprovado";
	  else if(med>=3)
		 res="Em exame";
	  else
		 res="Reprovado";
	  printf("%d, %s, %s, %i",ra, nome, res, med);
	  soma=soma+med;
	  cont++;
 }
}

 

 

Diante mão

De antemão

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caros amigos obrigado pela atenção mas não rodou...

Na realidade o programa deve encer quando digitado ra (aluno)== 0 o que está ok, então ele pede o aluno beleza, pede a serie beleza, pede o curso beleza, ao invés de pedir nome, n1, n2, calcular e acumular, ele pede novamente o ra serie e curso e assim vai.

 

grato mais uma vez pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É mais bizarro do que vcs pensam:

 

Breakpoint 1, main () at if-teste.c:13

13 while(ra!=0)

6: {<data variable, no debug info>} 3085944924 = -1400568888

3: ra = 123

2: serie = -1080729336

1: curso = "�\237\004\b"

(gdb) s

15 printf("\nDigite a serie: ");

6: {<data variable, no debug info>} 3085944924 = -1400568888

3: ra = 123

2: serie = -1080729336

1: curso = "�\237\004\b"

(gdb) s

 

16 scanf("%d",&serie);

6: {<data variable, no debug info>} 3085944924 = -1400568888

3: ra = 123

2: serie = -1080729336

1: curso = "�\237\004\b"

(gdb)

Digite a serie: 1

17 printf("\nDigite o curso: ");

6: {<data variable, no debug info>} 3085944924 = -1400568888

3: ra = 123

2: serie = 1

1: curso = "�\237\004\b"

(gdb) s

 

18 scanf("%s",&curso);

6: {<data variable, no debug info>} 3085944924 = -1400568888

3: ra = 123

2: serie = 1

1: curso = "�\237\004\b"

(gdb) s

Digite o curso: info

 

Breakpoint 2, main () at if-teste.c:20

20 if (serie==1 && strcmp(curso,"info") == 0)

6: {<data variable, no debug info>} 3085944924 = -1400568888

3: ra = 123

2: serie = 0

1: curso = "info"

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara você tentou fazer sei lah o break rotulado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.