Ayuda con C++

isroco

Bovino maduro
#1
Hola

Me preguntaron como se puede comparar una variable con un carácter en C++. Hace ya muuuuuucho que no lo uso y francamente no recuerdo.

El programa captura 3 calificaciones y calcula el promedio, y solo se termina si escribe "s".
strcmp no me función, escriba cualquier cosa el programa se termina.

Este es el código que me dieron:

#include <conio.h>
#include <stdio.h>
#include <string.h>

char res[2];
int c1, c2, c3;
double prom;

main()
{
do{
printf("Cal. 1: ");
scanf("%d", &c1);
printf("Cal. 2: ");
scanf("%d", &c2);
printf("Cal. 3: ");
scanf("%d", &c3);
prom=(c1+c2+c3)/3;
printf("\nPromedio: %f", prom);
printf("\nDeseas calcular otro promedio[s/n]: ");
scanf("%c", &res);
}while(strcmp(res,"n")==0);
getch();
}
 

jlrmdevil

Bovino maduro
#2
Hmmmm.... veamos este programa arcaico, vamos a decir que funciona bien la parte de generar el promedio.... si mal no recuerdo el scanf para texto era con %s.... lo que yo recuerdo que hacia es igualar la variable al getch:

res= getch();

otra cosa...el strcmp compara cadenas....no caracteres.... recuerdo que hacia:

while(res<>'n')

creo recordad que las cadenas eran con comillas dobles ( " ) y los caracteres iban con comillas sencillas ( ' )....asi que en esencia no es lo mismo "n" que es una cadena de 2 caracteres, que 'n'.
 
Arriba