[C con Clase] Funcion strlen me da error el printf
David Fire
ddfire en gmail.com
Dom Nov 8 19:48:55 CET 2009
Falta un ")" al final de la linea estas abriendo en printf pero nunca lo
cerras.
el valor que te va a dar es cualquiera por que nombres es un arreglo de
arreglos de chars pero es otro tema.
David
El 7 de noviembre de 2009 20:23, Laura Gabriela Costabel <
lau_gaby_costabel en hotmail.com> escribió:
> Hola a todos:
> mire aqui les adjunto el programa q esta hecho con el dev c++, para q me
> puedan ayudar, hice tantas modificaciones, pero nada sigue saltando el mismo
> error.
>
> gracias
> atte:Laura Costabel
> lista con clase C
>
> #include<stdio.h>
> #include<conio.c>
> #include<string.h>
> typedef char Cadena40 [40];
> Cadena40 nombres [100];
>
> /*
> * comparar implementa comparacion de nombres
> */
> int comparar(int i, int j) {
> // printf("%s - %s - %d \n", nombres[i], nombres[j], strcmp(nombres[i],
> nombres[j]));
> return strcmp(nombres[i], nombres[j]);
> } // end comparar()
> /*
> * swap implementa el intercambio de valores
> */
> void swap(int i, int j) {
> char aux[40];
> // printf("%s - %s \n", nombres[i], nombres[j]);
> strcpy(aux, nombres[i]);
> // printf("Swap %s \n", aux);
> strcpy(nombres[i], nombres[j]);
> strcpy(nombres[j], aux);
> // printf("%s - %s \n", nombres[i], nombres[j]);
> } // end swap()
> /*
> * ordenar implementa ordenamiento ascendente de nombres
> */
> void ordenar(int cantidadpersonas) {
> for (int i = 0; i < cantidadpersonas - 1; i++) {
> for(int j = i + 1; j < cantidadpersonas; j++) {
> // printf("%s - %s \n", nombres[i], nombres[j]);
> if(comparar(i, j) == 1) {
> swap(i, j);
> }
> }
> }
> } // end ordenar()
> /*
> * mostrar implementa mostrar los nombres
> */
> void mostrar(int cantidadpersonas) {
> for (int i = 0; i < cantidadpersonas; i++) {
> printf("\n %d %s ", i, nombres[i]);
> }
> printf("\n Oprima return para continuar ...");
> getch();
> } // end mostrar()
> /*
> * main Rutina principal
> */
>
> //* Comparamos para la longitud
> int comlen(int i, int j) {
> // printf("%s - %s - %d \n", nombres[i], nombres[j], strcmp(nombres[i],
> nombres[j]));
> int a = strlen (nombres [i]);
> int b = strlen (nombres [j]);
> int c;
> if (a==b) c=0;
> else if (a<b) c=-1;
> else c=1;
> return c;
> } // end comparar()
> //* Ordenamos para la longitud
> void ordlen(int cantidadpersonas) {
> for (int i = 0; i < cantidadpersonas - 1; i++) {
> for(int j = i + 1; j < cantidadpersonas; j++) {
> // printf("%s - %s \n", nombres[i], nombres[j]);
> if(comlen(i, j) == 1) {
> swap(i, j);
> }
> }
> }
> } // end ordenar()
>
> int main () {
> int cantidadpersonas;
> // Ingresar cantidad de personas
> printf("\n Ingrese la cantidad de la lista de personas: ");
> scanf("%d",&cantidadpersonas);
> // Ingresar los nombres
> for (int i = 0; i < cantidadpersonas; i++) {
> printf("\n Introducir el nombre %d : ", i);
> scanf("%s", &nombres[i]);
> }
> // Mostrar nombres ingresados
> mostrar(cantidadpersonas);
> // Ordenar la lista de nombres
> ordenar(cantidadpersonas);
> // Mostrar lista ordenada
> printf("\n\n LISTA ORDENADA ALFABETICAMENTE\n");
>
>
> mostrar(cantidadpersonas);
> printf("\n\n LISTA ORDENADA POR LONGITUD\n");
> //* printf("\n La longitud de\"%s\" es %d",
> nombres,strlen(nombres);// esto me da error no se porque
>
> ordlen(cantidadpersonas);
> // Mostrar lista ordenada
> mostrar(cantidadpersonas);
> return 0;
> } // end main()
>
>
> ------------------------------
> Guardá y compartí fotos, archivos, documentos y más. ¡Con Windows Live
> tienes 25 GB gratis! Probalo ahora. <http://skydrive.live.com>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
--
(\__/)
(='.'=)This is Bunny. Copy and paste bunny into your
(")_(")signature to help him gain world domination.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20091108/b88c3460/attachment.html>
Más información sobre la lista de distribución Cconclase