SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: amedinadiaz en Martes 2 de Diciembre de 2003, 15:45
-
Bueno, esto es lo que me piden, se como se hace en general, solo necesito que me ayudeis en como hago para que cuando salga esto:
Introduce el comando que quieres ver su descripcion: cd
Me salga esto, todo con strings multidimensionales.
cd - command directory
aki teneis la descripcion del programa x si acaso(esta en ingles)
B. Write a program to implement an interactive help system, to train users in the “Unix” operating system. The following example gives the Unix command names that will be stored in the help system, together with their description. You do not need any knowledge of Unix to write the program.
Command Description
ls list files in a directory
cd change directory
mv rename or move files to another directory
cp copy files
rm delete files
more display the contents of files
Your program should be able to carry out the operations as outlined in the menu below. See below for sample output. Output for options 3 and 4 should be of similar format. Your program should generate an error message if the user enters a menu option other than 1-5.
Welcome to the Unix help system.
1 - look up a command
2 - search for words in the description
3 – display all commands
4 – display all commands and descriptions
5 - quit
Your choice: 1
Enter command name to look up: cd
cd - change directory
Your choice: 2
Enter a word to search for: directory
The following entries contain the word 'directory':
ls
cd
mv
.
.
.
Your choice: 5
End of program
Hint: The commands and descriptions should each be stored as strings, at initialisation.
The command strings should be stored in one array and the descriptions should be stored in another.
------------------
Entiendo la estructura perfectamente, con un switch keda perfecto pero es problema es que no se como hacerlo con los arrays que me piden, alguna sugerencia x favor? Me juego la nota de un semestre!!
-
Hasta donde entiendo quieres hacer un menu de ayuda parecido al man del unix:
La primera parte es sencikka por que despliegas un menu con las opciones que deseas presentar:
potdrias manejar un archivo de texto donde colocas todos las comandos con una pequeña descripcion, ordenado alfabeticamente. y lo presentas cuando la opcion sea presentar todos los comandos.
cuando la opcion sea pedir un comando especifico, ya la cosa se complica, por que deberas encontrar un metodo de busqueda, que podria der recorrer un arreglo de estructuras en forma secuencial, donde colocas en un elemento el nombre del comando, en el segundo elemento una breve descripcion y en el tercer elemento un archivo de texto donde colocas toda la descripcion y la sintaxis del comando
por ejemplo defines
#define NUMERO_COMAND 100
struct Ayuda
ABRES CORCHETES
char Comando[12]; //Nombre del Comando
char Descripcion[81]; //Breve descripcion
char Pathname[81]; //Archivo de texto donde se describe como funciona
CIERRAS CORCHETE; Comandos[NUMERO_COMAND];
Con Comando[0].Comando Accederias al Nombre del Comando
Con Comando[0].Descripcion Accederias a la breve descripcion
Con Comando[0].Pathname Accederias al Nombre del archivo que contiene la descripcion completa del del comando el cual podrias presentarlo en pantalla
haces un for por ejemplo para comparar el nombre del comando solicitado con el que se encuentra en la estructura, presentas su nombre con una breve descripcion y la posibilidad de presentar el archivo de texto que lo descrive en detalle
Espero te sirva la informacion
Saludos Bench
-
Gracias pero al final descubri que la lbireria string.h tiene una funcion mu "bonika":P q se llama strcmp y que compara 2 strings, asi que al final me salio mucho mas facil! Aqui dejo el codigo: (x si alguien necesita algo parecido)
printf("Enter command name to look up:");
scanf("%s", com2);
for(i=0; i<6; i++)
{
t= strcmp(com2[0], commands);
if(t==0)
printf("%s %s\n", commands, descriptions);
}
Declarando t como integer. Espero que a alguien le sirva de ayuda;)
Ahora mi problema es el apartado 2 :( no tengo ni idea de como hacerlo, agradeceria cualkier ayuda.
-
Echare una ojeada, en todo caso, trata de no escribir palabras groceras en el foro... :ph34r: