Paso mi codigo si alguien me lo puede arreglar , por favor es un trabajo final , lo necesito urgente
#include<stdio.h>
#define MAX 100
int leeCantidadElem()
{
int n;
do{
printf("Cantidad de elementos a ingresar");
scanf("%d",&n);
if(n<=0){
printf("No seas payaso(a), ingresa una cantidad correcta: ");
}
if(n>MAX){
printf("La cantidad maxima permitida es ");
}
}while(n<=0 || n>MAX);
return n;
}
int elegirEvento(int cant,int A[])
{
int i,k,elem,opt;
Opciones:
printf("1. Insertar elemento: ");
printf("2. Eliminar elemento: ");
printf("3. Agregar elemento: ");
printf("4. Buscar elemento: ");
printf("Elija una opcion 1 , 2 , 3 o 4: ");
scanf("%d",&opt);
switch(opt)
{
case 1:
{
printf("\t>>Que elemento desea insertar: ");
scanf("%d",&elem);
do{
printf("\t>>En que posicion desea insertar...");
scanf("%d",&k);
if(k>(cant-1)||k<0){
printf(">>Ingrese una posicion valida!!!");
}
}while(k>(cant-1)||k<0);
cant++;
for(i=cant-1;i>=k;i--)
{
A[i+1]=A[i];
if(k==i)
A[k]=elem;
}
}break;
case 2:
{
do{
printf("\t>>Que posicion desea eliminar.. ");
scanf("%d",&k);
if(k>(cant-1)||k<0)
printf(">>Ingrese una posicion valida!!!");
}while(k>(cant-1)||k<0);
for(i=k;i<cant;i++)
{
A[i]=A[i+1];
}
cant--;
}break;
case 3:
{
for(i=0;i<1;i++)
{
printf("\t>>Que elemento desea agregar : ");
scanf("%d",&elem);
Agregar:
cant++;
A[cant-1]=elem;
}
}break;
case 4:
{
printf("\t>>Que elemento desea buscar: ");
scanf("%d",&elem);
for(i=0;i<cant;i++)
{
if(A[i]==elem)
{
printf("\t>>El elemento buscado se encuentra en:");
//Añandir el elemento al final de arreglo
printf("\t>>El elemento se agregara al final");
goto Agregar;
}
else
{
if(i==cant-1)
{
printf("\t>>No se encuetra el elemento que busca!!!");
printf("\t>>Puede confirmarlo viendolo Ud. mismo!!!");
}
}
}
}break;
default:printf("No existe esa opcion, vuelva a intentar: ");
}
return cant;
}
void main()
{
int c;
char opt;
int n[MAX];
printf("\t\t\tAGREGAR 2 ELEMENTOS AL FINAL");
c=leeCantidadElem();
leeCadena(c,n);
do{
c=elegirEvento(c,n);
muestraCadena(c,n);
printf("Desea realizar otra operacion!!!... S/s, caso contrario pulse otra tecla: ");
scanf("%f",&opt);
}while(opt=='s'||opt=='S');
}
[MOD] para publicar codigo usar etiquetas GeSHi.
Estás llamando a funciones que no están en el código... Además tienes errores en el formato de algún scanf().
Y para otras consultas: no utilices mayúsculas (eso no va a hacer que te contesten antes) y pon tu código entre etiquetas de Código GeSHi. No hay manera de ver el código. Aparte de eso, utilizar nombres de variables más descriptivos ayudaría bastante a seguir el funcionamiento.
PD: Puedes estar accediendo a posiciones inválidas del array.
Y las etiquetas son una mala opción de programación, su uso debería limitarse a los switch-case.
:-X
Disculpe , jamás usé este foro , la próxima escribo con minuscula . Y cómo podría definirlas , en un main? Podrías mostrarme como lo harías vos porfa?
CitarY cómo podría definirlas , en un main?
no es definirlas en el main, es que estás usando funciones que no has escrito
tienes
leeCantidadElem()
elegirEvento(int cant,int A[])
pero usas
leeCadena(c,n);
muestraCadena(c,n);
para poder usarlas, primero tienes que escribirlas...