#include <stdio.h>

#define MAXCHARS 80

void leer_cadena_con_while(char v[MAXCHARS]) { 
	int i = 0;
	scanf ("%c", &v[i]);
	while (v[i]!='\n') {
		i++; 
		scanf ("%c", &v[i]); 
	} 
}

void imprimir_cadena_con_while(char v[MAXCHARS]) {
	int i = 0;
	while (v[i]!='\n') {
		printf ("%c", v[i]);
		i++;
	}
}

void leer_cadena_con_for(char v[MAXCHARS]) {
	int i;
	char c='\0';
	for (i=0; c!='\n'; i++) {
		scanf("%c", &c);
		v[i] = c;
	}
}

void imprimir_cadena_con_for(char v[MAXCHARS]) {
	int i;
	for (i=0; v[i]!='\n'; i++) {
		printf("%c", v[i]);
	}
}

main() {
	char v[MAXCHARS]={'\n'};
	char c='\0';
	
	while (c!='s') {
		printf("\nIntroduce una opcion\n'1' leer_cadena_con_while\n'2' imprimir_cadena_con_while\n'3' leer_cadena_con_for\n'4' imprimir_cadena_con_for\n's' Salir\nOpcion: ");
		scanf("%c%*c", &c);
		printf("\n");
		if (c=='1') {
			leer_cadena_con_while(v);
		} else if (c=='2') {
			imprimir_cadena_con_while(v); printf("\n");
		} else if (c=='3') {
			leer_cadena_con_for(v);
		} else if (c=='4') {
			imprimir_cadena_con_for(v); printf("\n");
		} else if (c=='s') {
			printf("Salir\n");
		} else {
			printf("Opcion incorrecta\n");
		}
	}
}

