#include "stdafx.h"
#include <iostream>
#include <string>
#include <locale>
using namespace std;
int Menu();
int func_1(int);
void func_2(string);
void func_3(char *);
int _tmain(int argc, _TCHAR* argv[])
{
int menu = 0;
int n,result;
//string str;
char ss[] = {""};
while(menu != 3)
{
menu = Menu();
switch(menu){
case 1:
cout<<"Enter n : ";
cin>>n;
result = func_1(n);
cout<<"Result is :"<<result<<endl;
break;
case 2:
cout<<"Enter string : ";
//cin>>str;
cin>>ss;
func_3(ss);
//func_2(str);
break;
case 3:
cout<<"Exit";
exit(0);
default:
cout<<"Unknown";
break;
}
}
return 0;
}
int Menu()
{
int answer=0;
cout<<"\n\n1. % 5 \n2. TOLOWER\n3. Exit\n";
cin>>answer;
return answer;
}
int func_1(int n)
{
int sum = 0;
int count = 0;
int *mass = new int[n];
for(int i = 0;;++i){
if(i % 5 == 0){
mass[count] = i;
++count;
}
if(count == n)
break;
}
for(int i = 0;i < count;++i)
sum += mass;
delete[] mass;
cout<<endl;
return sum;
}
void func_2(string str)
{
locale loc1 ( "German_Germany" );
use_facet<ctype<char> > ( loc1 ).tolower
(&str[0],&str[str.size()]);
cout << "The lowercase string is: " << str << endl;
}
void func_3(char *s)
{
strlwr(s);
cout<<s<<endl;
}
ФУНКЦИИ В "C"
Написать программу, содержащею кроме функции main еще три функции, которые реализуют действия.
1. Меню.
2. Находим сумму n чисел кратных 5 (n - передается в качестве параметра функции, сумма – возвращаемое значение функции).
3. Функция выводит всю введенную строку строчными буквами (строка передается параметром функции, функция ничего не возвращает). Примечание: организовать цикл, который проверяет каждый символ строки, пока не будет достигнут конец строки (символ ‘\0’); для преобразования символа используется функция tolower.
И еще - может посоветуете какую литературу чтобы норм можно было разобраться?
Можешь у нас посмотреть: http://www.codenet.ru/
Так же, если посмотрешь в правый, верхний угол страницы, то увидишь справочник функций. Вопросы сюда, если что не поймешь.
имя любой функции вводишь в google.ru]поисковик плюс язык программирования и наслаждаешься жизнью :)
в интернете также можно найти электронный вариант книги Шилдта. Дейтела книга неплохая, только в электронном виде не встречала.
[COLOR="Red"]назвние теме дал рассплывчатое, не отражает сути. предупреждение.[/COLOR]
или я такая или 2 пункт насчет нахождения суммы непонятен: функция получает массив чисел и надо найти сумму тех чисел, которые кратны 5? или что?
использовать tolower тоже не совсем ясно.Можно сделать ведь проще
strlwr,например.Вот пример( не знаю,все ли я правильно понял в
условии ) - ф-ии меню,нахождения суммы количества цифр кратных 5 (больших 0),перевод строки в верх при помощи tolower и strlwr
Код:
Насчет задания - нам в такой формулировке и давали, я ничего не менял.
У меня какая то проблема с этой строчкой)
Где делаешь в Builder или Visual Studio ? Удали #include "stdafx.h".
Если эту строку убрать 4 ошибки выдает.
какие ошибки?Этот stdafx,создакт мастер консольного приложения в студии,здесь он пустой,так что надо смотреть какие ошибки.
Код:
#include "stdafx.h"
#include <iostream>
using namespace std;
int Menu();
int func_1(int);
void func_2(string);
void func_3(char *);
void main()
{
int menu = 0;
int n,result;
char ss[] = {""};
while(menu != 3)
{
menu = Menu();
switch(menu){
case 1:
cout<<"Enter n : ";
cin>>n;
result = func_1(n);
cout<<"Result is :"<<result<<endl;
break;
case 2:
cout<<"Enter string : ";
//cin>>str;
cin>>ss;
func_3(ss);
//func_2(str);
break;
case 3:
cout<<"Exit";
exit(0);
default:
cout<<"Unknown";
break;
}
}
}
int Menu()
{
int answer=0;
cout<<"\n\n1. % 5 \n2. TOLOWER\n3. Exit\n";
cin>>answer;
return answer;
}
int func_1(int n)
{
int sum = 0;
int count = 0;
int *mass = new int[n];
for(int i = 0;;++i){
if(i % 5 == 0){
mass[count] = i;
++count;
}
if(count == n)
break;
}
for(i = 0;i < count;++i)// тут нельзя писать int i VS 6,а VS2003 //можно
sum += mass;
delete[] mass;
cout<<endl;
return sum;
}
void func_3(char *s)
{
strlwr(s);
cout<<s<<endl;
}
#include <iostream>
using namespace std;
int Menu();
int func_1(int);
void func_2(string);
void func_3(char *);
void main()
{
int menu = 0;
int n,result;
char ss[] = {""};
while(menu != 3)
{
menu = Menu();
switch(menu){
case 1:
cout<<"Enter n : ";
cin>>n;
result = func_1(n);
cout<<"Result is :"<<result<<endl;
break;
case 2:
cout<<"Enter string : ";
//cin>>str;
cin>>ss;
func_3(ss);
//func_2(str);
break;
case 3:
cout<<"Exit";
exit(0);
default:
cout<<"Unknown";
break;
}
}
}
int Menu()
{
int answer=0;
cout<<"\n\n1. % 5 \n2. TOLOWER\n3. Exit\n";
cin>>answer;
return answer;
}
int func_1(int n)
{
int sum = 0;
int count = 0;
int *mass = new int[n];
for(int i = 0;;++i){
if(i % 5 == 0){
mass[count] = i;
++count;
}
if(count == n)
break;
}
for(i = 0;i < count;++i)// тут нельзя писать int i VS 6,а VS2003 //можно
sum += mass;
delete[] mass;
cout<<endl;
return sum;
}
void func_3(char *s)
{
strlwr(s);
cout<<s<<endl;
}
Убери ф-ию func_2(str) - не получиться так в 6-ой.Хочу напомнить,что Visual Studio 6 6ыла выпущена в 1998 году.После этого были 2003,2005,сейчас уже выпущена 2007.Может пора использовать что то более современное и не обращать внимания на преподов ,которые заставляют
делать в 6-ой студии потому что ее только и знают.
А насчет версии С - у нас в универе эта версия, и чтобы сдать мне приходится на VC 6 писать.