Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [С++] ASCII коды, строчные латинские и прописные латинские 
:(
    Опции темы
RDN
Дата 20.12.2006, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 11.12.2006

Репутация: нет
Всего: нет



помогите пожалуйста написать програмку smile 
которая работает так:
Вводишь в консоли строку из пяти строчных латинских символов, 
программа следующей строкой преобразовывает их в соответствующие прописные символы с помощью преобразование ASCII кодов ....
(все буквы в разных регистрах отличаются на пост. вел.);

PM MAIL   Вверх
Sartorius
Дата 20.12.2006, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: 8
Всего: 37



Код

for (int i = 0; i < 5; i++)
{
  str[i] = str[i] - ('a' - 'A'); // ну или str[i] = toupper(str[i]);
}

PM MAIL ICQ   Вверх
RDN
Дата 20.12.2006, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 11.12.2006

Репутация: нет
Всего: нет



а какие библиотеки использовать? 

PM MAIL   Вверх
Pete
Дата 20.12.2006, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 318
Регистрация: 5.1.2006
Где: Москва

Репутация: 7
Всего: 12



Код

#include <ctype.h>



--------------------
Совет учиться на ошибках других бесполезен; научиться чему-либо можно только на собственных ошибках. (Бернард Шоу)
Не откладывай на завтра то, что можешь сделать сегодня. (Пословица)
А теперь выпишем точное значение числа пи... (Препод)
Жахни, Пендальф! © Гоблин
PM   Вверх
RDN
Дата 20.12.2006, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 11.12.2006

Репутация: нет
Всего: нет



можете поподробнее написать пожалуйста smile
мне надо не с помощью символов а с помощью асц2 кодов
например 
A=a-32
B=b-32 и тд....
 (т.е.  в таблице кодов разница между прописными и строчными 32)
а вот как это написать я не знаю smile
п.с. напишите плиз полную прогу...

Это сообщение отредактировал(а) RDN - 20.12.2006, 23:29
PM MAIL   Вверх
V.A.KeRneL
  Дата 23.12.2006, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vadim A. Kazantsev
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 3.12.2006
Где: Moscow, Russia

Репутация: 7
Всего: 14



Код

#include <stdio.h>  /* for printf(), scanf(), getchar(), putchar() */
#include <ctype.h>  /* for toupper() */

#define MAX_STR_LEN   5  /* maximum length of your string */

/* 
   Main.
 */
int 
main(void)  /* does not use command line arguments */

    char buf[MAX_STR_LEN + 1];  /* 1 byte for a closing symbol '\0' */
    int i;                      /* counter, index */
    
    /* Program's invitation to enter input string.  */
    printf("Enter the string (maximum length %d)> ", MAX_STR_LEN);
    
    /*scanf("%s", buf);*/
    for (i = 0; i < MAX_STR_LEN; ++i) 
        buf[i] = getchar();  /* get i-th character of `buf' from `stdin' */
    
    buf[MAX_STR_LEN] = '\0';  /* end of C-string */
    
    /* In C 'A' is integer with value 65, 'b' == 66, 'c' == 67...
       'a' - 'A' = 97 - 65 = 32 */
    for (i = 0; i < MAX_STR_LEN; ++i) 
        buf[i] = buf[i] - ('a' - 'A');  /* ``'' */
    /* Or better: buf[i] = toupper(buf[i]); 
       It's safely for non-uppercase string too!  */
    
    /*printf("%s\n", buf);*/
    for (i = 0; i < MAX_STR_LEN; ++i) 
        putchar(buf[i]);  /* put i-th character of `buf' on `stdout' */
    
    return (0);  /* return 0 (successful) error code to the system */
}  /* main() */


RDN, достаточно подробно? smile

Да, кстати, З.Ы.: ASCII читается именно так, как и пишется, «аски», а не «асц2». Почему-то это распространённое заблуждение новичков...
Цитата из Википедии (http://ru.wikipedia.org/wiki/ASCII): 
«ASCII (англ. American Standard Code for Information Interchange — американский стандартный код для обмена информацией; по-английски произносится [`эски], по-русски произносится [`аски], и слово ASCII чаще употребляется в женском роде) — 7-битная компьютерная кодировка для представления латинского алфавита, десятичных цифр, некоторых знаков препинания, арифметических операций и управляющих символов. В честь кода ASCII даже был назван небольшой астероид — «3568 ASCII» (открыт в 1936 году, название получил позже).»


Это сообщение отредактировал(а) V_A_KeRneL - 23.12.2006, 08:46


--------------------
«C'est un pense-creux d'ici. C'est le meilleur et le plus irascible homme du monde...» © Ф.М. Достоевский, «Бесы»
---/)/)---(\.../)---(\(\
--(':'=)---(=';'=)---(=':')
(")(")..)-(").--.(")-(..(")(")

PM MAIL IM ICQ AOL YIM MSN   Вверх
Pete
Дата 23.12.2006, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 318
Регистрация: 5.1.2006
Где: Москва

Репутация: 7
Всего: 12



Цитата(V_A_KeRneL @  23.12.2006,  09:15 Найти цитируемый пост)
maximum length

(строка 4) Тогда уж просто length..

Добавлено @ 14:39 
Цитата(V_A_KeRneL @  23.12.2006,  09:15 Найти цитируемый пост)
buf[i] = buf[i] - ('a' - 'A');

Код

buf[i] -= 'a' - 'A';

 smile 


--------------------
Совет учиться на ошибках других бесполезен; научиться чему-либо можно только на собственных ошибках. (Бернард Шоу)
Не откладывай на завтра то, что можешь сделать сегодня. (Пословица)
А теперь выпишем точное значение числа пи... (Препод)
Жахни, Пендальф! © Гоблин
PM   Вверх
Rockie
Дата 23.12.2006, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 23.4.2006

Репутация: 13
Всего: 31



Код
#include <stdio.h>

int main()
{
    char buff[80];

    printf("Enter string:\n");
    fgets( buff,sizeof(buff),stdin);

    for(int i=0;buff[i+1]!='\0';i++)
        putc((buff[i]-32),stdout);

    return 0;
}





--------------------
Чтобы иметь большой гардероб - надо иметь большой гардероб.
PM   Вверх
V.A.KeRneL
Дата 25.12.2006, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vadim A. Kazantsev
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 3.12.2006
Где: Moscow, Russia

Репутация: 7
Всего: 14



Цитата(Pete @  23.12.2006, 14:35 Найти цитируемый пост)

Цитата(V_A_KeRneL @  23.12.2006,  09:15 Найти цитируемый пост)

maximum length

(строка 4) Тогда уж просто length..

Если именно с getchar(), то да, а если /*закомментированный*/ вариант с printf() и в общем виде, то я написал правильно и то, что хотел!

Цитата(Pete @  23.12.2006, 14:35 Найти цитируемый пост)

Добавлено @ 14:39 
Цитата(V_A_KeRneL @  23.12.2006,  09:15 Найти цитируемый пост)

buf[i] = buf[i] - ('a' - 'A');

Код

buf[i] -= 'a' - 'A';

 smile

Я, опять-таки, написал, что хотел! Это для того, чтобы было как можно меньше вопросов, в частности по использованным операторам!.. smile



--------------------
«C'est un pense-creux d'ici. C'est le meilleur et le plus irascible homme du monde...» © Ф.М. Достоевский, «Бесы»
---/)/)---(\.../)---(\(\
--(':'=)---(=';'=)---(=':')
(")(")..)-(").--.(")-(..(")(")

PM MAIL IM ICQ AOL YIM MSN   Вверх
Pete
Дата 25.12.2006, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 318
Регистрация: 5.1.2006
Где: Москва

Репутация: 7
Всего: 12



Цитата(V_A_KeRneL @  25.12.2006,  12:28 Найти цитируемый пост)
я написал правильно и то, что хотел

Хмм... Там, ведь, по условию, ровно 5 символов. Или я что-то не понял?

Цитата(V_A_KeRneL @  25.12.2006,  12:28 Найти цитируемый пост)
чтобы было как можно меньше вопросов

А на что мы здесь сидим? Чтоб на них отвечать!  smile 


--------------------
Совет учиться на ошибках других бесполезен; научиться чему-либо можно только на собственных ошибках. (Бернард Шоу)
Не откладывай на завтра то, что можешь сделать сегодня. (Пословица)
А теперь выпишем точное значение числа пи... (Препод)
Жахни, Пендальф! © Гоблин
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.1293 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.