Bueno, ya empezamos con C en clase. Tengo hechos ya cuatro ejercicios, pero dos de ellos no consigo que funcionen bien, son los siguientes:
3.- En una estación de autobuses se requiere un programa que contabilice los billetes vendidos al cabo del día. Teniendo en cuenta que existen tres trayectos A,B,C cuyas tarifas con 6,12,18 € respectivamente.
El programa pedirá al viajero que introduzca el número de billetes que desea y el trayecto, finalizando la emisión de billetes al introducir $ en el trayecto. Una vez terminada dicha emisión, el programa visualizará:
NºBILLETES TOTAL EUROS
A:.............. ................
B:.............. ................
C:............. .................Esto es lo que tengo hasta el momento, no quiero que me lo resuelvan, sino que me digan qué está mal y me orienten un poco sobre qué hay que corregir sin decírmelo literalmente:
#include <stdio.h>
main()
{
char opcion;
int a=0,b=0,c=0,ap,bp,cp,x;
printf("Introduzca un trayecto\n"); printf("Introduzca cantidad\n"); while(opcion!='$')
{
switch(opcion)
{
case 'a':
a=a+x;
break;
case 'b':
b=b+x;
break;
case 'c':
c=c+x;
break;
default:
}
printf("Introduzca un trayecto\n"); printf("Introduzca cantidad\n"); }
ap=a*6;
bp=b*12;
cp=c*18;
printf("\tNºBILLETES\tTOTAL EUROS"); }
4.- Programa que visualice cuantos números de los N primeros (N introducido por teclado) cumplen las siguientes condiciones:
- El producto de sus divisores es múltiplo de 5
- La suma de sus divisores es múltiplo de 3
- Cumple ambas condiciones anteriores a la vezEsto es lo que tengo de momento, lo mismo que en el anterior, quiero ver dónde he fallado para intentar corregirlo, no quiero que me lo den hecho:
#include <stdio.h>
main()
{
int cont,actual,n,res5,res3;
for(actual=1;actual<=n;actual++)
{
res5=0;
res3=0;
while(cont<=actual/2)
{
if(actual%cont==0)
{
res5=res5*cont;
res3=res3+cont;
}
}
if(res5%5==0)
{
printf("El producto de los divisores de %d es multiplo de 5\n",actual
); }
else
{
printf("El producto de los divisores de %d no es multiplo de 5\n",actual
); }
if(res3%3==0)
{
printf("La suma de los divisores de %d es multiplo de 3\n",actual
); }
else
{
printf("La suma de los divisores de %d no es multiplo de 3\n",actual
); }
if ((res5%5==0)&&(res3%3==0))
{
printf("Cumplen ambas condiciones anteriores a la vez\n"); }
else
{
printf("No cumplen ambas condiciones anteriores a la vez\n\n"); }
}
}
Gracias por adelantado y un saludo, miau!