Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - deibenK

#1
SOLUCIONADO

Código (cpp) [Seleccionar]

# include <iostream>
# include <conio2.h>
# include <stdio.h>
# include <windows.h>

using namespace std;
 
int main()
{
   FILE *fichero;
   int i,j, matriz[12][10];

           /* inicializa matriz a 0 */
   for (i = 0; i < 12; i++)
      for (j = 0; j < 5; j++)
    matriz[i][j] = 0;

   fichero = fopen("C:/ventas.txt","r");
   if (fichero==NULL)
   {
      printf( "No se puede abrir el fichero.\n" );
      system("pause");
      exit (EXIT_FAILURE);
   }
   i = 0;
   while (1)
   {
      if (feof(fichero))
    break;
      fscanf (fichero, "%d %d %d %d %d\n", &matriz[i][0], &matriz[i][1], &matriz[i][2], &matriz[i][3], &matriz[i][4]);
      i++;
   }
   fclose(fichero);

   printf( "Contenido del fichero:\n" );
   for (i = 0; i < 12; i++)
   {
      for (j = 0; j < 5; j++)
      { 
      printf ("%d ", matriz[i][j]);
       
      }
      printf ("\n");
   }
   system ("PAUSE");
   return EXIT_SUCCESS;
}

#2
Que tal gente resulta que ando haciendo un programa para llenar, sumar, multiplicar, sacar el prom,etc. y cuando intento llenar los datos con sus columna y filas al finalizar antes de entrar al menú me saca del programa, me ayudan?

Código (cpp) [Seleccionar]
#include<iostream>
#include<conio2.h>
#include<stdio.h>

using namespace std;
//parametrización
void LLENAR_f(int [3][100],int ,int ,int );
void SUAMAR_f(int [3][100]);
void MULTIPLICAR_f(int [3][100]);
void REDIMENCIONAR_f(int [3][100]);
void PROM_FILA_f(int[3][100]);
void CANTIDAD_IMPARES_f(int [3][100]);

int main()
{  
   int MDlistrip[3][100]={0};
   float R[3][100]={0};
   int NF,NC,ND;
   short op;
   cout<<"\nIngrese numero de Filas";
   cin>>NF;
   cout<<"\nIngrese numero de Columnas";
   cin>>NC;
   cout<<"\nIngrese numero de Datos";
   cin>>ND;
   LLENAR_f(MDlistrip,NF,NC,ND);
   do
   {
       gotoxy(15,1);
       cout<<"Menu Principal";
       cout<<"\nSumar dos matrices dispersas 1:";
       cout<<"\nMultiplicar dos matrices dispersas 2:";
       cout<<"\nEncontrar la traspuesta de ambas matrices dispersas 3:";
       cout<<"\nMostrar el promedio de cada fila 4:";
       cout<<"\nMostrar la cantidad de impares de cada columna 5:";
       cout<<"\nMostrar las matrices dispersas 6:";  
       cout<<"\nIngrese dato del menu:";
       cin>>op;
       switch(op)
       {
           case 1 : SUAMAR_f(MDlistrip) ;break;
           case 2 : MULTIPLICAR_f(MDlistrip);break;
          // case 3 : TRASPUESTAS_f();break;
           case 4 : PROM_FILA_f(MDlistrip);break;
           case 5 : CANTIDAD_IMPARES_f(MDlistrip);break;
           case 6 : ;break;  
       }
    }while(op>=1||op<=6);
   system("PAUSE");
 
   return EXIT_SUCCESS;
}

void LLENAR_f(int MDlistrip[3][100],int NF,int NC,int ND)
{
    float dat;
    int f,c;
    short i,j;
    MDlistrip[0][0]=NF;
    MDlistrip[0][1]=NC;
    MDlistrip[0][3]=ND;
    for(i=1;i<=MDlistrip[0][3]+1;i++)
    {
           cout<<"\nIngrese Filas";
           cin>>MDlistrip[i][0];
           cout<<"\nIngrese Columnas";
           cin>>MDlistrip[i][1];
           cout<<"\nIngrese Dato";
           cin>>MDlistrip[i][2];  
    }
}
void SUAMAR_f(int MDlistrip[3][100])
{
   int MDlistripB[3][100]={0};
   int MDlistripR[3][100]={0};
   int NF,NC,ND;
   short k=1;
   cout<<"\nIngrese numero de Filas de la matriz B";
   cin>>NF;
   cout<<"\nIngrese numero de Columnas de la matriz B";
   cin>>NC;
   cout<<"\nIngrese numero de Datos de la matriz B";
   cin>>ND;
   LLENAR_f(MDlistripB,NF,NC,ND);
   while ((k<= MDlistripB[0][2]+1)&&(k<=MDlistrip[0][2]+1))
   {
         if((MDlistripB[k][0]==MDlistrip[k][0])&&(MDlistripB[k][1]==MDlistrip[k][1]))
         {
            MDlistripR[k][0]=MDlistrip[k][0];
            MDlistripR[k][0]=MDlistrip[k][0];
            MDlistripR[k][2]=MDlistrip[k][2]+MDlistripB[k][2];
            k++;
         }
         else
         {
             if(MDlistrip[k][0]<MDlistripB[k][0])
             {
                  MDlistripR[k][0]=MDlistripB[k][0];
                  MDlistripR[k][0]=MDlistripB[k][1];
                  MDlistripR[k][0]=MDlistripB[k][2];
                  k++;
                  MDlistripR[k][0]=MDlistripB[k][0];
                  MDlistripR[k][0]=MDlistripB[k][1];
                  MDlistripR[k][0]=MDlistripB[k][2];
                  k++;
             }
             else if (MDlistrip[k][0]>MDlistripB[k][0])
             {
                  MDlistripR[k][0]=MDlistripB[k][0];
                  MDlistripR[k][0]=MDlistripB[k][1];
                  MDlistripR[k][0]=MDlistripB[k][2];
                  k++;
                  MDlistripR[k][0]=MDlistripB[k][0];
                  MDlistripR[k][0]=MDlistripB[k][1];
                  MDlistripR[k][0]=MDlistripB[k][2];
                  k++;
             }
         }
       
   }
}
void MULTIPLICAR_f(int MDlistrip[3][100])
{
   int MDlistripB[3][100]={0};
   int MDlistripR[3][100]={0};
   int NF,NC,ND;
   short k=1;
   cout<<"\nIngrese numero de Filas de la matriz B";
   cin>>NF;
   cout<<"\nIngrese numero de Columnas de la matriz B";
   cin>>NC;
   cout<<"\nIngrese numero de Datos de la matriz B";
   cin>>ND;
   LLENAR_f(MDlistripB,NF,NC,ND);
   if ((MDlistripB[0][0]==MDlistripB[0][0])&&(MDlistripB[0][0]==MDlistripB[0][0]))
   {
       if((MDlistripB[k][0]==MDlistrip[k][0])&&(MDlistripB[k][1]==MDlistrip[k][1]))
         {
            MDlistripR[k][0]=MDlistrip[k][0];
            MDlistripR[k][0]=MDlistrip[k][0];
            MDlistripR[k][2]=MDlistrip[k][2]*MDlistripB[k][2];
            k++;
         }
         else
         {
             
         }
   }
   else
   {
       cout<<"\nNo se puede multiplicar las matrices";
   }
}
void REDIMENCIONAR_f(int MDlistripR[3][100])
{
    int k;
    float aux[3][100];
    for (k=0;k<=(MDlistripR[0][2]+1);k++)
    {
        aux[k][0]=MDlistripR[k][0];
        aux[k][1]=MDlistripR[k][1];
        aux[k][2]=MDlistripR[k][2];
    }
}


void PROM_FILA_f(int MDlistrip[3][100])
{
    int f;
    short i,k;
    float prom,ac=0;
    cout<<"\nQue fila desea sacar el promedio?:\t";
    cin>>f;
    for (i=1;i<=(MDlistrip[0][2]+1);i++)
    {
        if(MDlistrip[i][0]=f)
        {
            for(k=i;k<=f;k++)
            {
               ac=ac+MDlistrip[i][2];
            }
           
        }
    }
    prom=ac/MDlistrip[0][1];
    cout<<prom;
}

void CANTIDAD_IMPARES_f(int MDlistrip[3][100])
{
    int c, ac=0;
    short i,k;    
    cout<<"\nQue columna quiere ver impares?:\t";
    cin>>c;
    for (i=1;i<=(MDlistrip[0][2]+1);i++)
    {
        if(MDlistrip[i][1]=c)
        {
            for(k=i;k<=c;k++)
            {
               if(MDlistrip[k][2] %2 !=0 )
               {
                   ac=ac+1;
               }
            }
           
        }
    }
    cout<<"\nHay",ac,"impares en la columna",c;
   
}
void MOSTRAR_f(int MDlistrip[3][100])
{
    short k;
    for (k=0;k<=(MDlistrip[0][2]+1);k++)
    {
        cout<<MDlistrip[k][0],"\n";
        cout<<MDlistrip[k][1],"\n";
        cout<<MDlistrip[k][2],"\n";
       
    }
}

#3
Discúlpame soy nuevo y no tenia idea
Bueno logre modificarle algo pero me sigue presentando algunos problemas

Código (cpp) [Seleccionar]
void MENU_DE_OPCIONES (long Vec_2[], short T_v)
{
    int k,opt;
    short I,adic,aux,ced,encontrado=0;
   
    cout<<"\n\n1. Adicionar Participante: "<<endl;
    cout<<"2. Eliminar Participante: "<<endl;
    cout<<"3. Buscar Participante: "<<endl;
    cout<<"4. : "<<endl;
    cout<<"\nElija una opcion 1 , 2 , 3 o 4 : ";cin>>opt;
    switch(opt)
   
   
    {
           case 1:
           {
                  cout << "\ndigite cedula del nuevo participante  " ;
                  cin >> ced; 
                 while(k >(T_v-1)||k < 0);
                 T_v++;
                 for(I = T_v-1;I >= k;I--)
                    {
                        Vec_2[I+1]= Vec_2[I];
                        if( k == I )
                        Vec_2[k]= ced;       
                    }
                    for (I = 0; I < T_v; I++)
   {
      cout << "\nParticipante : " << I+1 << " " << Vec_2[I];
   }
                break;
                   
             }             
           
            case 2:
                 {
                        cout << "Digite cedula que desea eliminar " ;cin >> ced;
                   
                    for(I=0;I<T_v;I++)                                   
                    {
                        if (Vec_2[I]=ced)
                        ;
                        {
                        Vec_2[I]=Vec_2[I+1];
                        }
                    }
                        T_v--;
                    for (I = 0; I < T_v; I++)
                    {
                     cout << "\nParticipante : " << I+1 << " " << Vec_2[I];
                    }
               
                }break;


#4
Buenas gente que tal
tengo un pequeño problema y es que cuando intento eliminar el 2 o 3.. me borra siempre el 1ro alguien me colabora?
Gracias.

case 2:
                 {
                        cout << "Digite cedula que desea eliminar " ;cin >> ced;
                    while( k >(T_v-1)|| k < 0);
                    for(I=0; I<T_v; I++)                                   
                    {
                        Vec_2=Vec_2[I+1];
                    }
                        T_v--;
                    for (I = 0; I < T_v; I++)
                    {
                     cout << "\nParticipante : " << I+1 << " " << Vec_2;
                    }
               
                }break;