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 - manutmac

#1
Programación C/C++ / estructura de datos
10 Diciembre 2012, 19:26 PM
tengo que hacer este ejercicio:

La información sobre la venta y la compra de una empresa se pueden guardar en una estructura de datos.
La estructura consiste en el nombre de la empresa comercial, el tipo comercial (compra o venta),
el importe de las compras, la fecha de compra y descripción comercial (como el descuento).
1. Definir la estructura de datos para mantener actualizada la información sobre 1000.
2. Esta estructura de datos se supone que la información necesaria se introducira despues, por favor escriba la función que calcula la cantidad de la compra y venta de la empresa. (no escribo main () function...)

Y esto es lo que tengo:

#define n_shop 1000

struct Date
{
int day;
int month;
int year;
};
struct Company
{
char shop[50];
char bos;
float amount;
Date d_shopping;
int disc;
}name[n_shop];

float calculate (Company total)
{
  int i;
  for (i=0; i<n_shop; i++)
  {
    if(name.bos=='b')
     total=total - name.amount + (name.amount*(name.disc/100));           
    if(name.bos=='s')
     total=total + name.amount - (name.amount*(name.disc/100)); 

  }
return total; 
}

Alguien me puede ayudar a que este en condiciones? Es para la uni. Gracias
#2
Programación C/C++ / Re: Por que no se ordena?
16 Noviembre 2012, 23:43 PM
muchas gracias ahora funciona a la perfeccion.  ;D
#3
Programación C/C++ / Por que no se ordena?
15 Noviembre 2012, 21:23 PM
este problema me esta matando, soy el mismo de otras veces quiero ordenarlo alfabeticamente. No veo fallos pero no se ordena. aqui os dejo mi intento

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() {

const char *const pnames[200] = {"Muhittin", "Mufit", "Serkan", "Kaan",
"Izzet", "Muzaffer", "Umid", "Sami", "Uykura", "Kayhan", "Yakup", "Mert",
"Cetin", "Ilknur", "Gokhan", "Salah", "Irem", "Korhan", "Isin", "Berk",
"Tacettin", "Duygu", "Figen", "Funda", "Fuat", "Arda","Muhsin", "Guray",
"Necati", "Kadriye", "Gurbuz", "Hamide", "Volkan", "Selami", "Esra",
"Cumhur", "Can", "Aleyna", "Salih", "Kamuran", "Ferhan", "Furuze",
"Sukufe", "Sidre", "Cahit", "Sercan", "Jale", "Bilge", "Tijen", "Tufan",
"Zeliha", "Cevdet", "Burak", "Ufuk", "Zarife", "Bengisu", "Melda", "Zafer",
"Yelda", "Didar", "Hande", "Cumali", "Dilek", "Kemal", "Hasan", "Ismail",
"Fatma", "Burcu", "Siyami", "Busra", "Gizem", "Ramize", "Sezai", "Polat",
"Melike", "Umut", "Serencan", "Uzeyir", "Kamile", "Deniz", "Veysel",
"Emrehan", "Gulcan", "Ender", "Furkan", "Veli", "Muhtesem", "Necmettin",
"Osman", "Perihan", "Didem", "Tunc", "Irmak","Petek", "Sebahat", "Halime",
"Mahir", "Leyla", "Eda", "Ali", "Ibrahim", "Berivan", "Ilter", "Metin",
"Bozkurt", "Olgun", "Hudai", "Esin", "Taylan", "Memduh", "Selimcan",
"Ayse", "Baran", "Keriman", "Tankurt", "Feramuz", "Abdullah", "Ferda",
"Kuntay", "Ceyhan", "Edip", "Nuri", "Mahide", "Selda", "Murathan",
"Celebi", "Talha", "Mehtap", "Ece", "Abdurrahman", "Baki", "Anil", "Unsal",
"Melahat", "Sezgin", "Miran", "Cansel", "Sibel", "Aliye", "Derya", "Naime",
"Gulden", "Konar","Soner", "Gulistan", "Mestan", "Galip", "Lamia", "Hakan",
"Ugur", "Ege", "Husnu", "Sumbul", "Mustafa", "Simge", "Selva", "Mehmet",
"Irfan", "Cezmi", "Turgut", "Konur", "Aysegul", "Mesut", "Ceren", "Adem",
"Ferhat", "Murat", "Yunus", "Beyhan", "Erdem", "Sunusi", "Ata", "Sencer",
"Handan", "Cihan", "Levent", "Aykut", "Ferit", "Demir", "Kerim", "Feraye",
"Caner", "Baris", "Ozlem", "Ihsan", "Meltem","Kurthan", "Okan", "Huseyin",
"Sezgi", "Celik", "Cemal", "Sinan", "Sefa", "Cigdem", "Leman", "Nejla",
"Gurkan", "Gulsum", "Damla",};

int pos[200];
   int i, aux, j;

   for(i=0;i<200;i++)
       pos[i ] = i;

   for(i=1;i<200;i++)
       for(j=0;j<(200-i);j++)
           if(pnames[j]>pnames[j+1])
           {
               aux = pos[j];
               pos[j] = pos[j+1];
               pos[j+1] = aux;

           }

   for(i=0;i<200;i++)
       printf("%s\n", pnames[pos[ i ] ] );
system("pause");
   return 0;
}
#4
ok, muchas gracias. Ahora lo entendi. Si no pongo el length no se va ordenando y la pos no cambia tampoco. Me ofusque. Muchas gracias de verdad
#5
no debe ser el problema por que tambien lo he intentado hacer asi, pero en el codigo no hay problemas no? no entiendo que pasa.
Muchas gracias de todas formas
#6
si esta puesto, pero no se por que no se muestra en el mensaje
#7
Lo que quiero es que me cambie las posiciones del array pero no funciona y no se por que. Necesito asi para poder asi ordenarlas segun un segundo criterio en caso de igualdad de longitud de la palabra




#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() {

const char *const pnames[200] = {"Muhittin", "Mufit", "Serkan", "Kaan",
"Izzet", "Muzaffer", "Umid", "Sami", "Uykura", "Kayhan", "Yakup", "Mert",
"Cetin", "Ilknur", "Gokhan", "Salah", "Irem", "Korhan", "Isin", "Berk",
"Tacettin", "Duygu", "Figen", "Funda", "Fuat", "Arda","Muhsin", "Guray",
"Necati", "Kadriye", "Gurbuz", "Hamide", "Volkan", "Selami", "Esra",
"Cumhur", "Can", "Aleyna", "Salih", "Kamuran", "Ferhan", "Furuze",
"Sukufe", "Sidre", "Cahit", "Sercan", "Jale", "Bilge", "Tijen", "Tufan",
"Zeliha", "Cevdet", "Burak", "Ufuk", "Zarife", "Bengisu", "Melda", "Zafer",
"Yelda", "Didar", "Hande", "Cumali", "Dilek", "Kemal", "Hasan", "Ismail",
"Fatma", "Burcu", "Siyami", "Busra", "Gizem", "Ramize", "Sezai", "Polat",
"Melike", "Umut", "Serencan", "Uzeyir", "Kamile", "Deniz", "Veysel",
"Emrehan", "Gulcan", "Ender", "Furkan", "Veli", "Muhtesem", "Necmettin",
"Osman", "Perihan", "Didem", "Tunc", "Irmak","Petek", "Sebahat", "Halime",
"Mahir", "Leyla", "Eda", "Ali", "Ibrahim", "Berivan", "Ilter", "Metin",
"Bozkurt", "Olgun", "Hudai", "Esin", "Taylan", "Memduh", "Selimcan",
"Ayse", "Baran", "Keriman", "Tankurt", "Feramuz", "Abdullah", "Ferda",
"Kuntay", "Ceyhan", "Edip", "Nuri", "Mahide", "Selda", "Murathan",
"Celebi", "Talha", "Mehtap", "Ece", "Abdurrahman", "Baki", "Anil", "Unsal",
"Melahat", "Sezgin", "Miran", "Cansel", "Sibel", "Aliye", "Derya", "Naime",
"Gulden", "Konar","Soner", "Gulistan", "Mestan", "Galip", "Lamia", "Hakan",
"Ugur", "Ege", "Husnu", "Sumbul", "Mustafa", "Simge", "Selva", "Mehmet",
"Irfan", "Cezmi", "Turgut", "Konur", "Aysegul", "Mesut", "Ceren", "Adem",
"Ferhat", "Murat", "Yunus", "Beyhan", "Erdem", "Sunusi", "Ata", "Sencer",
"Handan", "Cihan", "Levent", "Aykut", "Ferit", "Demir", "Kerim", "Feraye",
"Caner", "Baris", "Ozlem", "Ihsan", "Meltem","Kurthan", "Okan", "Huseyin",
"Sezgi", "Celik", "Cemal", "Sinan", "Sefa", "Cigdem", "Leman", "Nejla",
"Gurkan", "Gulsum", "Damla",};

int length[200];
int pos[200];
int aux;

for( int i=0; i<200; i++)
length = strlen(pnames);
for( int i=0; i<200; i++)
pos = i;

for(int i = 0; i < 200; i++){
       for(int j = 0; j < 199; j++){
       if(length[j]>length[j+1]){
       aux=pos[j];
       pos[j]=pos[j+1];
       pos[j+1]=aux;}
            }
   }
      for( int i=0; i<200; i++)
       printf("%i ", pos);


system("\npause");


return 0;

}
#8
muchas gracias a todos di con la solucion con vuestros consejos!
#9
Tengo el codigo de ahi abajo, mi problema es que al ser nombres propios la primera letra va con mayuscula y cuando hago la busqueda por ejemplo con mu no me aparece Muhittin( uno de los nombres ) que es lo que deberia pasar.
Gracias



#include <stdio.h>
#include <string.h>

int main() {

const char *const pnames[200] = aqui aparecen 200 nombres propios;

int i;
for (i = 0; i < 200; i++) {
char primera_letra = pnames
  • ;
    int longitud_nombre = strlen( pnames );
    char ultima_letra = pnames[ longitud_nombre -1 ];

    printf("Elemento %i: %s, Primera letra: %c, ultima %c\n", i+1, pnames, primera_letra, ultima_letra );
    }

    char cadena_busqueda[4];
    printf("Introduzca cadena para buscar: ");
    scanf("%3s", cadena_busqueda);

    for (i = 0; i < 200; i++) {

    char* v;
    v = strstr(pnames, cadena_busqueda);
    if (v != NULL)
    printf("Silaba %s encontrada en %s\n", cadena_busqueda, pnames);
    }

    return 0;

    }
#10
Programación C/C++ / Re: puntero c++
21 Octubre 2012, 16:15 PM
Ok, muchas gracias, creo que ya lo tengo. Seguire por aqui... jeje