hola me pueden ayudar por favor tengo que hacer un programa en c y consiste en que tengo que hacer un examen de 30preguntas con incisos y al final me debe de dar las respuestas que tubo buenas y si aprobo ayudenme por favor me dijeron que era algo asi pero no me sale
main() { int total=0; char respuesta1,respuesta; printf("De las siguientes afirmaciones cuál considera que define mejor el campo de estudio de la Economía,El objeto de estudio de la Economía es"); printf("a.La utilidad que tienen los euros"); printf("b. Como ganar dinero en la Bolsa"); printf("c. Como los recursos escasos se usan para producir bienes y servicios para los individuos y la sociedad"); scanf("%s",&respuesta); if(respuesta1!=="c") total++; system("pause"); }
Qué estás usando para desarrollar? Algún entorno gráfico?
La firma del main() no es la correcta. Mejor usa int main( int argc, const char* argv[] ), aunque con un int main() creo que deberías tener. Recuerda añadir al final un return 0;
De todas formas, qué conocimientos tienes en programación? Porque eso no le veo que tenga mucha estructura...
Steam Deck · Xbox Series X · PS5 · Switch · PS Vita · WiiU · PS3 · new 3DS XL · Xbox 360 · PSP · PS2
EDIT: Lo acabo de comprobar y no, se lo traga espectacularmente
Viendo tu caso y la falta de experiencia, lo más rápido es que lo hagas al modo perogrullo. Van a ser muchas líneas ineficaces de código, pero es lo más simple que hay.
De todas formas y revisando ese fragmento, el fallo ahí es el tener dos variables para respuestas cuando realmente sólo necesitas una. Asignas la entrada del teclado (la respuesta) a la variable respuesta pero luego la que compruebas es respuesta1.
Steam Deck · Xbox Series X · PS5 · Switch · PS Vita · WiiU · PS3 · new 3DS XL · Xbox 360 · PSP · PS2
#include<stdio.h> #include<stdlib.h> #include<conio.h> main() { int conta; char res; conta=0; printf("1-cientifico que se le reconoce el nucleo celular"); printf("\na) Robert Brown"); printf("\nb) Antonie leeuwenhoek"); printf("\nc) H.dutrochet"); printf("\n respuesta"); scanf("%c",&res); if(res == 'a') conta++;
printf("\n"); printf("\n2-es un postulado de la teoria celular:"); printf("\na) todas las celulas estan formadas de carbono"); printf("\nb) las nuevas celulas se forman de las muertas"); printf("\nc) todos los seres vivos estan formados por celulas"); printf("\n respuesta"); scanf("%c",&res); if(res == 'c') conta++;
printf("\n3-molecula organica formada por C,H Y O"); printf("\na) lipidos"); printf("\nb) proteina"); printf("\nc) carbphidratos"); printf("\n respuesta"); scanf("%c",&res); if(res == 'c') conta++;
printf("\n4-son ejemplos de moleculas organicas,conocidas como lipidos:"); printf("\na) estradiol y lactosa"); printf("\nb) laurato y colesterol"); printf("\nc) valina y almidon"); printf("\n respuesta"); if(res == 'b') conta++;
printf("\n5-¿cual de las siguientes moleculas no es un aminoacido?");
printf ("Puntuacion total : %d", conta); if (res == 4) printf ("ahi que razonar un poco las preguntas\n"); else if (res == 3) printf ("......\n");
se salta me refiero a no te deja contestar osea poner la respuesta a,b,c si me entiendes? mira por ejemplo la primera pregunta responde la letra b y ya le das y te pone a contestar la pregunta 3 y no la 2
El return se queda en el buffer de scanf. Yo normalmente usaba fflush(stdin) para limpiarlo, pero he visto por ahí que poniendo un espacio antes del tipo de variable a leer es suficiente:
pspivan escribió:uso dev c++ y apenas estoy en lo basico asi que no se usar muchas cosas
Por lo que mas quieras, deja dev c++ y usa cualquier otra cosa (por ejemplo code::blocks). Dev C++ es anticuado, obsoleto, tiene demasiadas carencias, está lleno de bugs, etc
codestation escribió:Por lo que mas quieras, deja dev c++ y usa cualquier otra cosa (por ejemplo code::blocks). Dev C++ es anticuado, obsoleto, tiene demasiadas carencias, está lleno de bugs, etc
Pues sí que estaba yo oxidado yo en C/C++, creía que Dev C++ seguía siendo el estándar
Ya me estoy bajando code::blocks a ver qué tal.
Steam Deck · Xbox Series X · PS5 · Switch · PS Vita · WiiU · PS3 · new 3DS XL · Xbox 360 · PSP · PS2