Autor
|
Tema: ayuda con las cadenas (Leído 3,818 veces)
|
piyor6
Desconectado
Mensajes: 15
|
buenos dias tardes o noches amigos tengo un problema con un ejercicio en c++ tengo que determinar en un vector una cantidad de personas y preguntarle si es discapacitada o no(f/v) hasta hay todo facil pero la duda mia es como hago para pasar la persona discapacitada si el ususario ingreso v como copio una cadena en otra con la libreria string.h (el profesor no deja hacerlo con string.h)
ESTE SERIA EL CODIGO CON LA LIBRERIA PERO NECESITO SIN ESA LIBRERIA AYUDAAAA Y si algun programador me puede dar su whatsApp para preguntarle dudas direnctamente, muchas gracias
#include <stdlib.h> #include <stdio.h> #include<string.h> //estructura struct persona{ char nombre[20]; char discapacidad='v'; }personas[30],personaconD[30],personasinD[30];
int numpe,j=0,k=0; void llenar_personas(); void imprimir();
int main(){ llenar_personas(); imprimir(); return 0; }
//llenar las personas void llenar_personas(){ printf("ingrese el numero de personas: "); scanf("%d",&numpe); for(int i=0;i<numpe;i++){ fflush(stdin); printf("-------------------------------\n"); printf("PERSONA #%d\n",i+1); printf("nombre: "); fgets(personas.nombre,30,stdin); printf("discapacidad(f/v): "); scanf("%s",&personas.discapacidad); fflush(stdin);
//sacando personas discapacitadas (AQUI ESTA MI DUDA) if(personas.discapacidad=='v'){ strcpy(personaconD[j].nombre,personas.nombre); j++; } //sacando personas sin discapacidad(Y AQUI) if(personas.discapacidad=='f'){ strcpy(personasinD.nombre,personas.nombre); k++; } } } //imprimir las peronas void imprimir(){ printf("-------------------------------\n"); printf("PERSONAS CON DISCAPACIDAD\n"); for(int i=0;i<numpe;i++){ printf("%s",personaconD.nombre); } printf("-------------------------------\n"); printf("PERSONAS SIN DISCAPACIDAD\n"); for(int i=0;i<numpe;i++){ printf("%s",personasinD.nombre); }
printf("-------------------------------\n"); }
|
|
|
En línea
|
|
|
|
Kenji-chan
Desconectado
Mensajes: 104
|
con la función int sprintf(char *str, const char *format, ...) de la biblioteca <stdio.h> puedes copiar un string con formato a un char*
|
|
|
En línea
|
|
|
|
MAFUS
Desconectado
Mensajes: 1.603
|
Hazte tu propia strcpy char* strcpy(char *destino , const char* origen ) { register unsigned long long i = 0; register char c; for(i=0; (c=origen[i]) != '\0'; ++i) destino[i] = c; destino[i] = '\0'; return destino; }
Como la original, ésta no tiene protección contra desbordamiento de buffer.
|
|
|
En línea
|
|
|
|
piyor6
Desconectado
Mensajes: 15
|
no puedo usar funciones en el codigo osea si puedo crear mis propias funciones pero no puedo usar librerias para llamar mas funciones ayudame a escribir el codigo de una funcion que se llame copiar y que copie una cadena a otra vacia al aso como copiar(char destino,char origen,int num); muchas gracias
|
|
|
En línea
|
|
|
|
Kenji-chan
Desconectado
Mensajes: 104
|
la función que te a propuesto MAFUS es una función creada por el, lo único que tiene el nombre de una función ya conocida, pero si pones esa función en tu código y quitas el include de <string.h> te funcionara conmo quieres, pero como ya dijo el ésta no tiene protección contra desbordamiento de buffer eso tendras que arreglarlo
|
|
|
En línea
|
|
|
|
piyor6
Desconectado
Mensajes: 15
|
ok, copie todo el codigo y tambien hice la estructura de la funcion y borre el string.h y asi estoy usando la funcion que cree y me tira error for(int i=0;i<numpe;i++){ //sacando personas discapacitadas if(personas[i].discapacidad=='v'){ strcpy(personaconD [i ],numpe ,personas [i ]. nombre); }
} PDT:subiria una imagen del error pero no se subir imagenes
|
|
|
En línea
|
|
|
|
Yuki
Desconectado
Mensajes: 80
El error es una muestra de la incompetencia.
|
ok, copie todo el codigo y tambien hice la estructura de la funcion y borre el string.h y asi estoy usando la funcion que cree y me tira error for(int i=0;i<numpe;i++){ //sacando personas discapacitadas if(personas[i].discapacidad=='v'){ strcpy(personaconD [i ],numpe ,personas [i ]. nombre); }
} PDT:subiria una imagen del error pero no se subir imagenes Estableces 3 argumentos a strcpy.
|
|
|
En línea
|
|
|
|
piyor6
Desconectado
Mensajes: 15
|
podrias ser mas claro sobre que tengo que hacer para que funcione
|
|
|
En línea
|
|
|
|
Kenji-chan
Desconectado
Mensajes: 104
|
cuando llamas a la funcion le pasas 3 parametros cundo esta solo admite 2 strcpy(personaconD,numpe,personas.nombre); el numpe esta de mas
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
ayuda con cadenas
Programación Visual Basic
|
Mr pom0
|
1
|
1,502
|
4 Marzo 2008, 19:06 pm
por Chefito
|
|
|
Ayuda con matrices de cadenas
« 1 2 »
Programación C/C++
|
negux
|
14
|
13,461
|
30 Junio 2010, 00:17 am
por negux
|
|
|
Ayuda Comparacion de cadenas
Java
|
charmedever
|
3
|
2,189
|
16 Julio 2012, 05:19 am
por hucruz
|
|
|
Ayuda con cadenas.
« 1 2 3 »
Programación C/C++
|
User
|
21
|
10,415
|
17 Julio 2012, 21:44 pm
por User
|
|
|
Ayuda con cadenas de caracteres.
Programación C/C++
|
GilbertoBrewer
|
8
|
3,947
|
28 Noviembre 2014, 17:33 pm
por GilbertoBrewer
|
|