Corrección de programa en C

Iniciado por Xgirl12, 7 Noviembre 2012, 04:35 AM

0 Miembros y 1 Visitante están viendo este tema.

Xgirl12

Hola de nuevo, un gusto saludarlos.
La verdad es un poco penoso estar pregunte y pregunte, pero pues no me queda de otra y pues agradecer su paciencia.

Ahora lo que me trae por aca, es que acabo de hacer un programa que me calcula el sueldo de un trabajador, según indica sus horas trabajadas y selecciona a la zona geográfica que le corresponda (En México se usan diferentes salarios mínimos para las diferentes regiones del país por lo que se divide en a, b, o c).
Entonces yo hice este código, nada más el punto en donde estoy atorada, es por ejemplo:
case'a':("Selecciono ZonA\n");
           scanf("%f", &ZonA);
           sueldo = ZonA * horas;
           printf("Su sueldo es: %.2f\n\n ", ZonA);
           system("pause");
En este punto donde puse en negrita, no entiendo por qué me pone que primero declare la función, si estoy declarando (según yo) bien la variable y pues también las bibliotecas... Entonces si alguien me puede explicar, y tomarse tantito tiempo, pues infinitamente agradecida.
Por otro lado, aquí les paso todo el código y sólo me resta esperar sus comentarios.
Gracias.

#include <stdio.h>
#include <stdlib.h>
#include<conio.h>
main()
{
 /* Mis variables */
 textbackground(3) ;
 int horas;
float zonA=62.33, zonaB=60.57, zonaC=59.08, sueldo;
char opc;
do
{
     

 /* Lectura del número de horas trabajadas */
 
 printf("Ingrese el numero de horas trabajadas:%d\n", horas );
   
 scanf("%d", &horas);
 

 printf("Introduzca la zona geografica que le corresponda:\n" );
 printf("\n a. ZonA. \n b. ZonaB. \n c. ZonaC. \n d. Salir ");

  system("cls");
  opc=getche();
 
 
 switch(opc)
 {
           case'a':("Selecciono ZonA\n");
           scanf("%f", &ZonA);
           sueldo = ZonA * horas;
           printf("Su sueldo es: %.2f\n\n ", ZonA);
           system("pause");
           break;
           
           case'b':"Selecciono ZonaB \n",ZonaB);
           scanf("%f", &ZonaB);
           sueldo =ZonaB * horas;
           printf("Su sueldo es: %.2f\n\n ", ZonaB);
           system("pause");
           break;
           
           case'c':("Selecciono ZonaC \n");
           scanft("%f", &ZonaC);
           sueldo = ZonaC * horas;
           printf("Su sueldo es: %.2f\n\n ", ZonaC);
           system("pause");
           break;
           
           case'd': printf("\n\nAdios\n");
            system("pause");
                break;
                    printf("\n\n OpcionInvalida");

   }/*Fin dela Selección Múltiple*/

   }while (opc!='d');
       
 
 
 
 return 0;
}

The Swash

Si pudieses poner tu código entre etiquetas créeme que nos sería más cómodo y fácil ayudarte.

Saludos.

The Swash

Hola,

A ojo te podría decir que: "zonA" es diferente de "ZonA", C es casesensitive, es decir que diferencia entre mayúsculas y minúsculas.

Así que creo que tu problema será ese, a ojo no veo nada más.

Saludos.

Xgirl12

¿Sabes qué? Al final no me realiza la operación que tiene que hacer, no hace nada, ya corregí ese error de las mayúsculas y me lo corrió, pero no hace lo que te digo.

Salu2.

leosansan

CitarTienes varios errores más, como en algunos printf, en poner en lugar de sueldo la Zona, usar el formato %d en los case en lugar de %c, ya que se va a tomar una letra la ausencia del caso default. En fin, creo que ya te funciona:
Código (cpp) [Seleccionar]

#include <stdio.h>
#include <stdlib.h>
#include<conio.h>
main()
{
  /* Mis variables */
  int horas;
float ZonA=62.33, ZonaB=60.57, ZonaC=59.08, sueldo;
char opc;
do
{
  /* Lectura del número de horas trabajadas */
  printf("Ingrese el numero de horas trabajadas:" );
  scanf("%d", &horas);
  printf("Introduzca la zona geografica que le corresponda:\n" );
  printf("\n a. ZonA. \n b. ZonaB. \n c. ZonaC. \n d. Salir ");
   /*system("cls");*/
   opc=getche();
  switch(opc)
  {
            case'a':("Selecciono ZonA\n");
            scanf("%c", &ZonA);
            sueldo = ZonA * horas;
            printf("\nSu sueldo es: %1.2f\n\n ", sueldo);
            system("pause");
            break;

            case'b':("Selecciono ZonaB \n");
            scanf("%c", &ZonaB);
            sueldo =ZonaB * horas;
            printf("\nSu sueldo es: %1.2f\n\n ", sueldo);
            system("pause");
            break;

            case'c':("Selecciono ZonaC \n");
            scanf("%c", &ZonaC);
            sueldo = ZonaC * horas;
            printf("\nSu sueldo es: %1.2f\n\n ",sueldo);
            system("pause");
            break;

            case'd': printf("\n\nAdios\n");
             system("pause");
                 break;
                     printf("\n\n OpcionInvalida");
            default: printf("\n\n OpcionInvalida\t");break;
    }/*Fin dela Selección Múltiple*/

    }while (opc!='d');
  return 0;
}

Saludos!.

Xgirl12

¡Sii! Muchas gracias, es que no me corria bien. Me han salvado todos, pero mil gracias leosansan por pasarte todo el código. Sin comentarios, simplemente gracias a todos.

Salu2.

;D