Ayuda con un fácil programa en c

Iniciado por sammaeld, 25 Mayo 2018, 07:33 AM

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

sammaeld


Hola, tengo un pequeño problema quiero hacer un programa que me de a elegir 2 opciones y que se ejecute uno u otro programas dependiendo de la opcion que elija el usuario, solo que utilizo un if y siempre elige la misma opcion pongas lo que pongas.
agradecería su ayuda .

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

int main(){
int matriz[50][50],filas,columnas,i,j,opcion,a,b;
printf("\n\t\tA partir de un grafo, se encotrara la matriz de adyacencia \n\n");
printf("\n Ejija: (a) para Adyacencia \n Elija: (b) para Incidencia\n");
   scanf("%s",&opcion);

   if (opcion=a){
printf("Digite el numero de vertices: ");
scanf("%i",&filas);
printf("Digite el numero de vertices de nuevo : ");
scanf("%i",&columnas);


for(i=0;i<filas;i++){
for(j=0;j<columnas;j++){

printf("\nvertice[%i]con vertice[%i]: ",i+1,j+1);
scanf("%i",&matriz[i][j]);
}
}

printf("\n\n");

for(i=0;i<filas;i++){
for(j=0;j<columnas;j++){
printf("%i ",matriz[i] [j]);
}
printf("\n");
}

 }
   else{
   printf("Digite el numero de vertices: ");
scanf("%i",&filas);
printf("Digite el numero de aristas : ");
scanf("%i",&columnas);

for(i=0;i<filas;i++){
for(j=0;j<columnas;j++){

printf("\nvertice[%i]con arista[%i]: ",i+1,j+1);
scanf("%i",&matriz[i][j]);
}
}

printf("\n\n");

for(i=0;i<filas;i++){
for(j=0;j<columnas;j++){
printf("%i ",matriz[i] [j]);
}
printf("\n");

}

}

getch();
return 0;
}


Gracias de antemano


· Los códigos deben ir en etiquetas GeSHi
· Los temas van en su respectivo subforo (movido)
>aquí las reglas del foro
-Engel Lex

engel lex

if (opcion=a)

tienes 2 errores

- a está declarado, pero no le asignaste valor, así que contendrá un valor arbitrario (basura de la ram)
- "=" se usa para asignar, "==" se usa para comparar
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

dariodr01

Hola, has declarado opcion como INT y el scanf lo lee como string SCANF("%s") debes poner opcion como CHAR, y tambien como dijeron mas arriba debes usar == que se usa para comparar.
Salu2.