#include<stdio.h>
#include <string.h>
// Function prototypes
void fillPassword( size_t , char [ ] ) ;
void showResults( char ) ;
// should have void listed
void showMenu( ) ;
// Define a variable to hold a password
// and the copy
char password[ 15 ] ;
char cpassword[ 15 ] ;
int main( void )
{
// Welcome the User
printf ( "Welcome to the C Array Program!\n " ) ;
// Variables
char cont = 'y' ; // To continue with loop
int cVar = 0 ; // process variable
// Display menu and Get Selection
while ( cont != 'E' && cont != 'e' && cont != EOF) {
// Diaply the Menu
showMenu( cont) ;
// Get the user selection
// Display the menu response
showResults( cont) ;
}
// Call the Copy routine
fillPassword( sizeof ( password) , password) ;
// Display variable values
printf ( "password is %s\n " , password
) ;
// Copy password
memcpy ( cpassword
, password
, sizeof ( password
) ) ;
// Pause before exiting
char confirm;
return 0 ;
}
// Make a String of '1's
void fillPassword( size_t n, char dest[ ] ) {
// Should be n-1
for ( size_t j = 0 ; j < n- 1 ; j++ ) {
dest[ j] = '1' ;
}
// Add null terminator for string
dest[ n] = '\0 ' ;
}
/* Display the Results*/
void showResults( char cont) {
switch ( cont) {
case 'F' :
case 'f' :
printf ( "Welcome to the Football season!\n " ) ; break ;
case 'S' :
case 's' :
printf ( "Welcome to the Soccer season!\n " ) ; break ;
case 'B' :
case 'b' :
printf ( "Welcome to the Baseball season!\n " ) ; break ;
case 'E' :
case 'e' :
printf ( "Exiting the Menu system!\n " ) ; break ;
default :
printf ( "Please enter a valid selection\n " ) ; }
}
/* Display the Menu*/
void showMenu( void ) {
printf ( "Enter a selection from the following menu.\n " ) ; printf ( "B. Baseball season.\n " ) ; printf ( "F. Football season.\n " ) ; printf ( "S. Soccer season.\n " ) ; printf ( "E. Exit the system.\n " ) ; }
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGUgPHN0cmluZy5oPgoKLy8gRnVuY3Rpb24gcHJvdG90eXBlcwp2b2lkIGZpbGxQYXNzd29yZChzaXplX3QgLCBjaGFyW10pOwp2b2lkIHNob3dSZXN1bHRzKGNoYXIpOwovLyBzaG91bGQgaGF2ZSB2b2lkIGxpc3RlZAp2b2lkIHNob3dNZW51KCk7CgovLyBEZWZpbmUgYSB2YXJpYWJsZSB0byBob2xkIGEgcGFzc3dvcmQKLy8gYW5kIHRoZSBjb3B5CmNoYXIgcGFzc3dvcmRbMTVdOwpjaGFyIGNwYXNzd29yZFsxNV07CgppbnQgbWFpbih2b2lkKQp7IAoJLy8gV2VsY29tZSB0aGUgVXNlcgoJcHJpbnRmKCJXZWxjb21lIHRvIHRoZSBDIEFycmF5IFByb2dyYW0hXG4iKTsKCgkvLyBWYXJpYWJsZXMKCWNoYXIgY29udCA9ICd5JzsgLy8gVG8gY29udGludWUgd2l0aCBsb29wCglpbnQgY1ZhciA9IDA7IC8vIHByb2Nlc3MgdmFyaWFibGUKCgkJLy8gRGlzcGxheSBtZW51IGFuZCBHZXQgU2VsZWN0aW9uCgl3aGlsZSAoY29udCAhPSAnRScgJiYgY29udCAhPSAnZScgJiYgY29udCAhPSBFT0YpIHsKCQkvLyBEaWFwbHkgdGhlIE1lbnUKCQlzaG93TWVudShjb250KTsKCQkKCQkvLyBHZXQgdGhlIHVzZXIgc2VsZWN0aW9uCgkJY29udCA9IGdldGNoYXIoKTsKCQkKCQkvLyBEaXNwbGF5IHRoZSBtZW51IHJlc3BvbnNlCgkJc2hvd1Jlc3VsdHMoY29udCk7Cgl9CgkvLyBDYWxsIHRoZSBDb3B5IHJvdXRpbmUJCglmaWxsUGFzc3dvcmQoc2l6ZW9mKHBhc3N3b3JkKSxwYXNzd29yZCk7CQoJCgkvLyBEaXNwbGF5IHZhcmlhYmxlIHZhbHVlcwoJcHJpbnRmKCJwYXNzd29yZCBpcyAlc1xuIiwgcGFzc3dvcmQpOwoJcHJpbnRmKCJjVmFyIGlzICVkXG4iLCBjVmFyKTsKCgkvLyBDb3B5IHBhc3N3b3JkIAkKCW1lbWNweShjcGFzc3dvcmQsIHBhc3N3b3JkLHNpemVvZihwYXNzd29yZCkpOwkKCQoJLy8gUGF1c2UgYmVmb3JlIGV4aXRpbmcKCWNoYXIgY29uZmlybTsKCXByaW50ZigiQ29uZmlybSB5b3VyIGV4aXQhIik7Cgljb25maXJtID0gZ2V0Y2hhcigpOwkJCglyZXR1cm4gMDsKfQoKLy8gTWFrZSBhIFN0cmluZyBvZiAnMSdzCnZvaWQgZmlsbFBhc3N3b3JkKHNpemVfdCBuLCBjaGFyIGRlc3RbXSkgewoJLy8gU2hvdWxkIGJlIG4tMQoJIGZvciAoc2l6ZV90IGogPSAwOyBqIDwgbi0xOyBqKyspIHsJCgkJZGVzdFtqXSA9ICcxJzsKCX0KCS8vIEFkZCBudWxsIHRlcm1pbmF0b3IgZm9yIHN0cmluZwoJZGVzdFtuXSA9ICdcMCc7Cn0KCi8qIERpc3BsYXkgdGhlIFJlc3VsdHMqLwp2b2lkIHNob3dSZXN1bHRzKGNoYXIgY29udCkgewoJc3dpdGNoIChjb250KXsKCWNhc2UgJ0YnOgoJY2FzZSAnZic6CgkJcHJpbnRmKCJXZWxjb21lIHRvIHRoZSBGb290YmFsbCBzZWFzb24hXG4iKTsKCQlicmVhazsKCWNhc2UgJ1MnOgkJCgljYXNlICdzJzoKCQlwcmludGYoIldlbGNvbWUgdG8gdGhlIFNvY2NlciBzZWFzb24hXG4iKTsKCQlicmVhazsKCWNhc2UgJ0InOgkJCgljYXNlICdiJzoKCQlwcmludGYoIldlbGNvbWUgdG8gdGhlIEJhc2ViYWxsIHNlYXNvbiFcbiIpOwoJCWJyZWFrOwkJCQoJY2FzZSAnRSc6CQkKCWNhc2UgJ2UnOgoJCXByaW50ZigiRXhpdGluZyB0aGUgTWVudSBzeXN0ZW0hXG4iKTsKCQlicmVhazsKCWRlZmF1bHQ6CgkJcHJpbnRmKCJQbGVhc2UgZW50ZXIgYSB2YWxpZCBzZWxlY3Rpb25cbiIpOwoJfQoJCn0KCi8qIERpc3BsYXkgdGhlIE1lbnUqLwp2b2lkIHNob3dNZW51KHZvaWQpIHsKCXByaW50ZigiRW50ZXIgYSBzZWxlY3Rpb24gZnJvbSB0aGUgZm9sbG93aW5nIG1lbnUuXG4iKTsKCXByaW50ZigiQi4gQmFzZWJhbGwgc2Vhc29uLlxuIik7CglwcmludGYoIkYuIEZvb3RiYWxsIHNlYXNvbi5cbiIpOwoJcHJpbnRmKCJTLiBTb2NjZXIgc2Vhc29uLlxuIik7CglwcmludGYoIkUuIEV4aXQgdGhlIHN5c3RlbS5cbiIpOwp9